在我看来,我想多次显示一个计算属性,如果我{{ctrl.Compute()}}
多次显示,那么计算函数会被多次调用。
我创建了这个 plunkr 演示只是为了我的问题 http://plnkr.co/edit/TcMcJUipLKk94dthnivU
控制器
app.controller('MainController',function(){
var ctrl= this;
var list = [];
ctrl.count = function(){
console.log('Invoked');
return list.length
}
ctrl.add = function(){
list.push(1)
}
});
看法
<body ng-controller="MainController as ctrl">
<button ng-click="ctrl.add()">Add</button>
<br>
List Size: {{ctrl.count()}} <br>
List Size: {{ctrl.count()}} <br>
List Size: {{ctrl.count()}} <br>
List Size: {{ctrl.count()}} <br>
</body>
在视图中,您可以看到我调用{{ctrl.count()}}
了四次,这意味着计算发生了四次。我怎样才能只计算一次并多次显示一个值。?
请不要建议,像这样的想法,让数组成为控制器的一部分ctrl.list
,然后在视图中使用{{ctrl.list.length}}
。这个想法可能适用于此,但在需要复杂计算的情况下不起作用。