AngularJS:触发控制器以在需要时始终更改子状态

时间:2014-10-28 21:13:57

标签: angularjs controller scope angular-ui-router

我在我的角度应用UI-Router中使用,我有一个特定的视图,在某个控制器下有两个子状态。 一旦导航到" homeState",控制器检查某个案例,如果发生,它将导航到" homeState.substate1",否则" homeState.substate2"。 为了简化我的问题:

myApp.controller('MyCtrl', ['$scope', function($scope) {
   if(certainCase) {
     state.go('homeState.substate1');
   }
   else {
     state.go('homeState.substate2');
   }
}]);

在考虑我的上述代码时,对于那些熟悉角度的人来说,这意味着在导航到" / homeState"控制器被触发,它将正确地重定向到正确的子状态。

问题出现在一般流程中:

  1. 我们导航到" homeState" (正确地重定向到某个子状态)
  2. 现在导航到" otherState"
  3. 然后,回到" homeState" - 此时出现问题!控制器不再触发我的情况和状态 冻结在" homeState"而不是重定向到substate1 / substate2(影响ui!)。
  4. 我试图做的就是强迫控制器再次检查案件,虽然这可能是一个错误的想法,但如果有人能澄清这一点,我会很高兴。

0 个答案:

没有答案