1
我創造了這個自定義過濾器,它應該採取有工作和名屬性對象的數組,並返回其具有關聯數組作業作爲鍵和名稱的數組共享作業值。NG-重複按預期不起作用:顯示任何值
angular.module('myApp')
.filter('groupBy', function(){
return function(input){
if (!input || !input.length) { return; }
var out = new Array();
for (var crew of input){
if(typeof out[crew.job] === 'undefined'){
out[crew.job] = new Array();
}
out[crew.job].push(crew.name);
}
console.log(out);
return out;
}
});
操作結果的console.log的:
Assistant Director: ["P.J. Voeten"]
Director: ["George Miller"]
Script Supervisor: ["Sophie Fabbri-Jackson"]
Writer: ["Nick Lathouris", "George Miller", "Brendan McCarthy"]
然後,我打算通過陣列進行迭代和打印像這樣:在
<li ng-repeat="(key, value) in cast.crew | groupBy">
<span class="bold">{{key}}:</span>
<span ng-repeat="name in value">{{name}}</span>
</li>
的的console.log過濾器函數顯示該數組是按照預期創建的,但它不會出現在視圖中,也不會顯示錯誤消息。
如果您嘗試在視圖{{cast.crew | json}}輸出是什麼? –
我得到了這個錯誤(視圖中沒有改變):錯誤:[ngRepeat:dupes]不允許在中繼器中重複。使用'track by'表達式來指定唯一鍵。 Repeater:(鍵,值)在cast.crew |中json,重複鍵:字符串:,重複值: http://errors.angularjs.org/1.5.0-beta.2/ngRepeat/dupes?p0(...) – mustieles
將其添加到上方的新行中循環,就像 {{cast.crew | json}} –