簡體   English   中英

在ui.router中更改狀態時如何正確刷新作用域

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM