在使用ui-view的情况下,角度调用控制器几次

时间:2015-05-24 16:02:02

标签: angularjs uiview angular-routing

我正在试图弄清楚ui-view配置出了什么问题。正如我在本文中看到的大部分答案都是控制器在路由器和html中定义。

请看一下这个例子,它调用控制器11次! (点击并查看表格:有11行“hi”)

http://plnkr.co/edit/YOshrVFmtUHFEvhdWH6S?p=preview

routerApp.controller('scotchController', function($scope) {

  $scope.message = 'test';

  $scope.hi = function() {
    $scope.scotches.push({name: 'hi', price: 10})   
  };

欢迎您的想法如何修复并只打电话给控制器!

1 个答案:

答案 0 :(得分:1)

您的过滤器是罪魁祸首。当它返回具有相同值的对象时,它会在每次迭代时返回不同的对象,这意味着模型已被修改。如果你看一下控制台,你会看到Angular最终放弃,你有一个infinite digest

我通常只使用过滤器进行显示格式化。 IMO这种数据转换属于你的控制器。如果需要在多个控制器之间共享,请将代码移动到工厂或服务中,控制器可以使用它。