問題解決:使用angularjs、ionic框架如何實現返回上一頁並刷新


普通的js返回並刷新這里就不多說了,百度就有很多方法。

下面說的是使用了angularjs、ionic開發的一個手機app中使用的一個返回上一頁並刷新的方法。

場景:回復的頁面是單獨的,點擊保存回復后會回到上一個頁面,此時上一個頁面會顯示出你新回復的內容

回復頁面的controller的相關代碼:

 $scope.save = function () {
        Replies.giveAReply($scope.reply);    //保存回復
        $ionicHistory.goBack();              //返回上一頁
 };

記得在controller的function參數里加上$ionicHistory,如下

angular.module('sth.controllers').controller('ReplyCtrl', function ($scope, $state, $ionicConfig, Replies, $ionicHistory, $cordovaCamera, $ionicModal, Auth) 

 

上一個頁面的controller的相關代碼:

1   $scope.rapidResponse.update = function () {
2             $scope.rapidResponse.replies = Replies.getReplies('rapid_response', $scope.rapidResponse.id);
3         };                               //獲取回復
4 
5   $scope.rapidResponse.update();         //函數調用
6 
7   $scope.$on('$stateChangeSuccess', $scope.rapidResponse.update); //如果有變化即重新調用獲取回復的函數,實現了刷新

 

記得$scope.$on('$stateChangeSuccess', $scope.rapidResponse.update);   

不能寫成$scope.$on('$stateChangeSuccess', $scope.rapidResponse.update()); 

不加括號表示調用的是函數的本身,加括號返回的是函數執行的結果。

 

stackoverflow里也有類似的解決方法:http://stackoverflow.com/questions/27853431/ion-list-does-not-refresh-after-state-go-is-called

如果還有更好的方法望指教,謝謝~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM