2

我有一个控制器连接到一个状态,并且每次访问所述状态时,我都需要我的控制器运行一个块来进行验证。如何在每次访问状态时执行控制器块?

我该怎么做?

+0

化妆'重装:状态代码 – 2015-03-30 20:27:04

+0

@pankajparkar内TRUE'选项,但被defualt控制器被刷新是不是? – 2015-03-30 20:29:25

+0

@ pankajparkar奇怪的是,这工作。我认为控制器总是重新加载? – 2015-03-30 20:39:46

回答

2

的功能(每次重装控制器时间执行,你应该提到reload: true选项你.state声明UI路由器的

示例代码

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

你也ç乌尔德请参阅本SO Question

+1

非常感谢。 :-) – 2015-03-30 20:45:02

+0

@ComicSansMSLover很高兴帮助你,谢谢:) – 2015-03-30 20:47:33

+0

任何人都可以证实这一点?我没有看到它在UI路由器文档(http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$stateProvider)和重新加载它不适合我。 – 2015-10-28 22:21:20

0

控制器做了每个可致电例如INIT)功能类似下面

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

它将如何重新加载控制器? – 2015-03-30 20:31:02

+0

@ pankajparkar他说每次我访问状态。当状态被访问时,控制器代码被执行 – 2015-03-30 20:32:28

+0

yeahh..obiviously控制器代码也被执行..看起来他想要“解析”功能 – 2015-03-30 20:34:33

0

为了每次调用特定的功能您的位置改变,你还可以在HTML作为定义函数:

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

所以每当HTML中的特定的div加载功能自动调用。

因此在状态函数的变化称为

相关问题