我的情况很容易解释:我有一个用于填充表格的对象数组(50-250个元素),但我只需要可视化它们的一部分。行根据用户点击在运行时可视化变化。
总结一下,我的代码将是这样的
<div ng-repeat="position in positions track by $index" ng-if="position.display" >
<!-- my code here -->
</div>
关键是position.display
是每次用户触发事件时要计算的属性。所以我有两个选择
循环每个用户的位置,以计算position.display
必须是true
还是false
。
$scope.userTriggerEvent = function() {
positions.forEach(function(position) {
if (...) { position.display = true; } else { position.display = false; }
});
}
使用以ng-if
为参数在position
内调用的函数,并返回true
或false
<div ng-repeat="position in positions track by $index" ng-if="displayMe(position)">
$scope.displayMe = function(position) {
if (...) { return true; } else { return false; }
}
考虑角度处理如何检查ng-if
哪个更好?
我的猜测是第一个,因为角度必须只检查一个变量而不是函数的输出,但也许我错了,并以不同的方式进行角度优化