角度 1 - 复杂的 ng 重复对象/数组



我有一个数组,其中包含 3 个对象,然后是 1 个对象(或更多,具体取决于 3 个第一个对象的选择),然后是 5 个数组(或根据 5 个数组的选择更多)

repeat="item in $ctrl.project[$ctrl.checkProject()].productType[$ctrl.ckeckProductType()]
//method to search for the item
checkProject() {
if (this.project.label === 'business') {
return 0
} else if(this.project.label === 'realEstate') {
return 1
} else if (this.project.label === 'smallBusiness'){
return 2
}
}

ckeckProductType()方法也是如此

难道没有更复杂的解决方案来激励这一切吗?

最简单的方法是将结果序列包装到方法中。像这样说:

data-ng-repeat = "object in getMyObjects() track by $index"

这样,您将选择逻辑移动到控制器应有的位置。 但是,从性能方面来看,这并不好。函数将调用每个摘要,并将消耗您的资源。

另一种方法是定义序列的依赖关系(this.project.label 等)并跟踪它们的更新。当它们更新时,您将更改顺序。这种方法需要更多的代码,维护起来有点困难,但它的速度有点快(直到你的序列不包含 1000+ 项)

因此,走哪条路取决于您。 希望这有帮助。

附言还有第三种方法。将所有内容合并到一个序列中并为此编写过滤器。 附言最后一个是可能的,但不要这样做,这是一个晚上的小笑话。

最新更新