由於各種原因,我正在使用Angular過濾器來將添加到將由ng-repeat使用的項目列表中(基本上我需要在表格中的子標題下對某些項目進行分組)。添加到角度過濾器中的索引
app.filter('tableFilter',
function(){
return function(items){
if (!items){
return;
}
var transformed = [];
for (var i = 0; i < items.length; i++){
if (items[i].classid){
if (i === 0 || items[i].classid !== items[i-1].classid){
transformed.push({classheader : true});
}
else{
items[i].classheader = false;
}
}
transformed.push(items[i]);
}
return transformed;
}
}
);
好消息是,它的工作原理。壞消息是,它產生的錯誤,第一個是:
[$ rootScope:infdig]
http://errors.angularjs.org/1.2.23/ $ rootScope/infdig P0 = 10 & P1 =%5B%5B%22fn%3 ...%圖7C%20 '' %3B%20newVal%3A%20%5℃%22%5℃%22%3B%20oldVal%3A%20undefined%22%5D%5D
這與在無限循環做消化週期。我懷疑,通過添加到項目列表我正在破壞ng-repeat
使用的數組/ $index
。
我可以轉換控制器/服務中的項目列表,但這看起來不正確,因爲這基本上只是爲了演示而完成。
你叫通過'$ filter'提供商控制器或服務的內部的過濾器?或者在視圖中將它用作表達式?我認爲後者是從ng-repeat提到的情況 - 但無法確定。 – cerd 2015-03-31 19:48:16
@cerd不,這是在ng-repeat內部,基本上我想將行添加到表中。 – 2015-04-02 17:48:35