我正在使用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;
};
答案 0 :(得分:1)
如果我理解正确,我认为你唯一需要做的就是听$ stateChangeStart事件。你可以将$ rootScope注入你的控制器并按如下方式进行:
$rootScope.$on('$stateChangeStart', function (event, next) { /* Your code... */ });
希望有所帮助。