我正在使用angularjs-soundmanager2,并且对象数组必须符合此对象
{id: n, title: 'Title', artist: 'Artist', url: 'URL'}
我正在访问一个给我这个对象的远程API
{id: n, filename: 'URL', title: 'Title'}
我想要做的是重新映射后一个对象以符合前者。我尝试在ng-repeat中使用过滤器,但是如果没有迭代中止似乎没有产生结果(angular会给我这个错误[$rootScope:infdig] 10 $digest() iterations reached. Aborting!
)。
app.filter('mapAudio', function() {
return function(items, field) {
var filtered = [];
angular.forEach(items, function(item) {
filtered.push({id: item.id, title: item.title, artist: '', url: item.filename});
});
return filtered;
};
});
在HTML方面:
<a ng-repeat="sample in selected.audio | mapAudio" href="#" class="list-group-item">{{sample.title}}</a>
答案 0 :(得分:2)
为什么不更新源列表?
<a ng-repeat="sample in getFullModels(selected.audio) | mapAudio" href="#" class="list-group-item">{{sample.title}}</a>
#getFullModels
必须编码才能返回完整的模型表示。