我見過幾個問題有關添加條件到NG-重複的過濾器,並沒有這些選項對我工作過在NG-重複條件篩選
我有以下的自定義過濾器
app.filter('customFilter', function() {
return function (collection, type, seq) {
return !collection ? [] : collection.filter(function (item) {
return (type === 'DL' && item.del_seq === seq) || (type === 'PU' && item.pu_seq === seq)
});
}
});
而且,這是在我的指導
<tr ng-repear-start="parent in parentCollection">
<td> Do stuff with parent collection items info </td>
</tr>
<tr ng-repeat-end="">
<td colspan="100">
<table>
<tr ng-repeat="child in childCollection | customFilter: parent.Type:parent.seq">
<td>Do stuff with child info</td>
</tr>
</table>
</td>
</tr>
這項工作完美,但我想知道,如果有一種方法可以做到這樣使用一個簡單的過濾器?
我試着做以下
<tr ng-repeat="child in childCollection | filter: (parent.Type === 'PU' ? child.pu_seq: child.dl_seq) === parent.seq">
但沒有奏效。認爲這可能沒有習慣?
編輯:按照要求,該樣品JSON和也,調整一個更好的想法的HTML
parentCollection = [{seq: 1, type:'PU'},{seq: 2, type:'PU'},{seq: 3, type:'PU'},{seq: 4, type:'DL'}];
childCollection = [{pu_seq: 1, dl_seq:4},{pu_seq: 2, dl_seq:4},{pu_seq: 3, dl_seq:4}]
其結果將是,家長[0]將與孩子明細行[0] ,父母[1]與孩子[1],父母[2]與孩子[2]和父母[3]將具有3個孩子作爲細節,因爲所有3個孩子都有dl_seq:4,父母[4]是dl和它的序列是4
在這裏發表您的JSON – Sajeetharan
@Sajeetharan JSON添加 – CJLopez