[英]How to properly refresh scope when changing state in ui.router
我正在使用ui.router來管理我的應用程序中某些頁面的狀態。 當我更改狀態時,我希望控制器重新加載范圍內的對象。 但是,我沒有找到一種方法來綁定狀態更改來執行此操作。
有沒有辦法可以掛入狀態轉換並觸發對我的角度資源的請求?
這是我的兩個狀態轉換,分別處於獨立的功能中。
$state.transitionTo('myObj.current', {myObjId: $scope.myObj.myObjId});
$state.transitionTo('myObj.current.edit', {myObjId: $scope.myObj.myObjId});
當狀態更改時,我想調用_getMyObjDetails函數。
var _getMyObjDetails = function (myObjId) {
var _myObj = MyObjService.get({myObjId: myObjId});
_myObj.$promise.then(function (data) {
$scope.myObj = data;
ngProgress.complete();
});
return _myObj;
};
如果我對您的理解正確,我認為您唯一需要做的就是監聽$ stateChangeStart事件。 您可以將$ rootScope注入到控制器中,如下所示:
$rootScope.$on('$stateChangeStart', function (event, next) { /* Your code... */ });
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.