是否有任何理由选择一种技术而不是另一种技术?AngularJs函数的表达式
var items = [{val:7},{val:3},{val:4},{val:1}];
第一:Ctrl键并查看
$scope.doSomething = function(val){
return val + 10;
};
<div ng-repeat="item in items">
{{ doSomething(item.val) }}
</div>
二:Ctrl键并查看
angular.forEach(items,function(item){
item.val = item.val + 10;
//item.valAlso = item.val + 10; Or in case you want to preserve model
});
<div ng-repeat="item in items">
{{ item.val }}
</div>
我平时比较喜欢第二个技术(例如HTTP请求后),但我想知道如果和为什么特别是一个优于另一个。我知道第一种技术可能最终会在每个摘要周期(对于中继器中的每个项目)调用$ scope.doSomething多次,但是我听说这个论点与使用过滤器没有多大区别。有任何想法吗?
编辑:我特别想知道对脏检查,摘要循环,范围监视等等的影响。还有就是函数复杂性(想象一个更复杂的函数)?
@Chandermani你能否详细说明你的答案? – TheBigC
我不好意思我在想别的东西:(Nevermind – Chandermani