关于在ng-repeat中使用$ index跟踪的一般问题,我无法在文档中找到解决方案...
我有一个<div ng-repeat="concert in concerts track by $index">{{concert}}</div>
,在它下面,我有一个数组,动态填充了音乐会的开始时间,<p>{{startTime[$index]}}</p>
。然而,有些音乐会没有有效的开始时间,是否有办法确定是否有[$index]
的startTime,如果没有,请定义取代它的文本?
我知道这是一种开放式的,&amp;我可以使用函数来比较concerts
数组和startTimes
数组的长度,并使用数据填充startTimes
中的其余字段,但我希望可能有更简单的方法?最佳做法?
感谢您的建议!
答案 0 :(得分:2)
你可以使用一个角度滤镜来识别一场音乐会是否有一个开始时间,并将默认值设置为你想要的任何颜色
https://docs.angularjs.org/api/ng/filter/filter
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;
};
});
也许像上面这样的东西会起作用。我还没有测试过。