gpt4 book ai didi

javascript - 在 ui.router 中更改状态时如何正确刷新范围

转载 作者:行者123 更新时间:2023-12-03 11:56:08 26 4
gpt4 key购买 nike

我正在使用 ui.router 来管理我的应用程序上某些页面的状态。当我更改状态时,我希望 Controller 重新加载范围内的对象。然而,我没有找到一种方法来结合状态变化来做到这一点。

有没有办法可以 Hook 状态转换并触发对我的 Angular 资源的请求?

这是我的两个状态转换,它们位于不同的函数中。

$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 注入(inject) Controller 并使其如下所示:

$rootScope.$on('$stateChangeStart', function (event, next) { /* Your code... */ });

希望有帮助。

关于javascript - 在 ui.router 中更改状态时如何正确刷新范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25610613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com