如何在每次访问状态时执行控制器块?

时间:2015-03-30 20:26:08

标签: javascript angularjs angular-ui-router angularjs-controller

我有一个连接到状态的控制器,每次访问状态时,我都需要我的控制器运行一个块来进行验证。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

每次你应该在reload: true ui-router声明中提及.state选项重新加载控制器

示例代码

$stateProvider
.state('state1', {
      templateUrl: 'state1.html',
      controller: `state1Ctrl`,
      reload: true //forcefully reload route and load controller again
})

您也可以参考此SO Question

答案 1 :(得分:1)

为了在每次位置更改时调用特定函数,您还可以在html中将函数定义为:

          <div ng-init="allDealerListing()">

因此,只要加载html中的特定div,就会自动调用该函数。

因此,在改变状态函数时称为

答案 2 :(得分:0)

控制器每次都可以调用一个函数,例如init()函数,如下所示

.controller('test',function($scope){
  $scope.init = function( ){
  // your code block here
   }
  $scope.init();
 });