我有一个具有树结构的应用程序到某些对象。每个对象都有一个id,并且可能有父对象。
不幸的是,明显过滤了" {_ id:current}"当前ID未定义时(例如,在根级别),它不能正常工作。设置电流时工作正常,不工作时会发生故障。
我可以编写一个与未定义匹配的表达式和实际值吗?
电子。 G:
<ol>
<li ng-repeat='item in list | filter:{parent:current_item_id}'>
<a ng-click='current_item_id = item._id'>{{ item }}</a>
</li>
</ol>
如果答案是&#34;你可以&#34;#34;那很好;我已经编写了一个客户过滤器,可以做一些足够接近的事情&#39;。它不像内置的过滤器那样灵活[&#39;过滤,但不需要。
每个请求,一些示例json数据:
{
"items":[
{'_id':1,'name':"Parent 1"},
{'_id':2,'name':"Parent 2"},
{'_id':3,'name':"Child 1", "parent":1},
{'_id':4,'name':"Child 2", "parent":2}
]
}
答案 0 :(得分:3)
您可以创建自定义过滤器以进行相应过滤,如果您希望有一些不同的内容,请进行修改
angular.module('app').filter('myfilter', function() {
return function(array, current_id) {
return (array || []).filter(function(item) {
if (typeof item.parent == 'undefined') {
return true;
} else {
return item.parent == current_id;
}
});
};
});