2014-09-01 3 views
0

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; 
    }; 

답변

1

제대로 이해하면 $ stateChangeStart 이벤트를 수신해야합니다. 컨트롤러에 $ rootScope를 삽입하여 다음과 같이 만들 수 있습니다.

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

희망이 있습니다.

+0

나는 $ stateChangeSuccess를 사용하여 끝내었지만, 충분히 가까워졌다. :) 감사! – zmanc

관련 문제