$ route.reload()导致控制器执行两次

时间:2014-02-27 10:09:32

标签: angularjs angular-ui-router

我们有路线配置

$routeProvider
   .when('/Search', { templateUrl: 'Search.html', controller: 'SearchCtrl' })
   .when('/Accounts', { templateUrl: 'Accounts.html', controller: 'AccountsCtrl' })
   .otherwise({ redirectTo: '/Search' });
控制器中的

有btn点击正在重新加载路径

$location.path("/Accounts").search({
      AccountOrShortName: i.AccountOrShortName,
});           
$route.reload(); 

AccountsCtrl正在执行两次。

1 个答案:

答案 0 :(得分:0)

  

是的,您的代码100%勉强加载控制器

第1次)点击按钮时

第二次)当这一行呼叫$route.reload(); //此代码重新加载页面

第3,第4,第5 ......,n次)页面将加载,每当$route.reload();代码调用

所以,你应该在第二次重新加载页面之前调用return false。