Javascript 一般角度ng重复和跟踪$index
只是关于在ng repeat中使用track by$index的一般问题,我在文档中找不到解决方案 我有一个Javascript 一般角度ng重复和跟踪$index,javascript,angularjs,angularjs-ng-repeat,ng-repeat,angularjs-track-by,Javascript,Angularjs,Angularjs Ng Repeat,Ng Repeat,Angularjs Track By,只是关于在ng repeat中使用track by$index的一般问题,我在文档中找不到解决方案 我有一个{{concert}},在它下面,我有一个数组,它动态地填充着音乐会的开始时间,就像这样,{{startTime[$index]}。但是,有些音乐会没有有效的开始时间,是否有办法确定该[$index]是否有开始时间,如果没有,请定义取代它的文本 我知道这是一种开放式的,我可以使用一个函数来比较音乐会数组和开始时间数组的长度,并用数据填充开始时间中的剩余字段,但我希望有更简单的方法?最佳实践
{{concert}}
,在它下面,我有一个数组,它动态地填充着音乐会的开始时间,就像这样,{{startTime[$index]}
。但是,有些音乐会没有有效的开始时间,是否有办法确定该[$index]
是否有开始时间,如果没有,请定义取代它的文本
我知道这是一种开放式的,我可以使用一个函数来比较音乐会
数组和开始时间
数组的长度,并用数据填充开始时间
中的剩余字段,但我希望有更简单的方法?最佳实践
谢谢你的建议 您可以使用一个角度过滤器,该过滤器将遍历并识别音乐会是否有开始时间,并将默认值设置为您想要的任何值
也许像上面这样的方法会奏效。我还没有测试过它。不要将
$index
用于此任务$index
不是数组中唯一项的索引;相反,它是ng repeat
的迭代器偏移量。这意味着过滤器可能导致$index
指向与预期不同的项目。
app.filter('startingTimeExists', () => {
return (collection) => {
let filtered = [];
angular.forEach(collection, (concert) =>{
if(concert.hasOwnProperty('startingTime')){
filtered.push(concert);
} else {
concert.startingTime = "7:00PM"
filtered.push(concert)
}
})
return filtered;
};
});