问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新
普通的js返回并刷新這里就不多說了,百度就有很多方法。
下面說的是使用了angularjs、ionic開發(fā)的一個(gè)手機(jī)app中使用的一個(gè)返回上一頁并刷新的方法。
場景:回復(fù)的頁面是單獨(dú)的,點(diǎn)擊保存回復(fù)后會(huì)回到上一個(gè)頁面,此時(shí)上一個(gè)頁面會(huì)顯示出你新回復(fù)的內(nèi)容
回復(fù)頁面的controller的相關(guān)代碼:
$scope.save = function () {Replies.giveAReply($scope.reply); //保存回復(fù)$ionicHistory.goBack(); //返回上一頁};記得在controller的function參數(shù)里加上$ionicHistory,如下
angular.module('sth.controllers').controller('ReplyCtrl', function ($scope, $state, $ionicConfig, Replies, $ionicHistory, $cordovaCamera, $ionicModal, Auth)?
?
上一個(gè)頁面的controller的相關(guān)代碼:
1 $scope.rapidResponse.update = function () { 2 $scope.rapidResponse.replies = Replies.getReplies('rapid_response', $scope.rapidResponse.id); 3 }; //獲取回復(fù) 4 5 $scope.rapidResponse.update(); //函數(shù)調(diào)用 6 7 $scope.$on('$stateChangeSuccess', $scope.rapidResponse.update); //如果有變化即重新調(diào)用獲取回復(fù)的函數(shù),實(shí)現(xiàn)了刷新?
記得$scope.$on('$stateChangeSuccess', $scope.rapidResponse.update); ??
不能寫成$scope.$on('$stateChangeSuccess', $scope.rapidResponse.update());?
不加括號(hào)表示調(diào)用的是函數(shù)的本身,加括號(hào)返回的是函數(shù)執(zhí)行的結(jié)果。
?
stackoverflow里也有類似的解決方法:http://stackoverflow.com/questions/27853431/ion-list-does-not-refresh-after-state-go-is-called
如果還有更好的方法望指教,謝謝~
轉(zhuǎn)載于:https://www.cnblogs.com/chenhuili/p/5005840.html
總結(jié)
以上是生活随笔為你收集整理的问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring基础整理
- 下一篇: 阅读 LdrInitializeThun