[英]Filter by elements in an Array in AngularJS
我有一个带有Tasks的JSON文件。 它们的结构如下:
[
{
"id":"1",
"name":"task1",
"tags":["tag1","tag2","tag3"]
},
{
"id":"2",
"name":"task2",
"tags":["tag4","tag2","tag5"]
},
{
"id":"3",
"name":"task3",
"tags":["tag3"]
}
]
这是我想要的Plunkr http://plnkr.co/edit/kMhiHDyybHYxGfV7W39z?p=preview
基本上,这就是我想要的: http : //jsfiddle.net/TahmidTanzim/N9Vqk/
我研究了各种SO问题,他们都建议我做对了。 但是我不明白我要去哪里错了。 我只希望那些包含selectedTag的任务显示在红色列表中。
谢谢!
只需更改过滤器即可使用数组比较内部标签。
myapp.filter('tagFilter',function()
{
return function(Data,selectedTags)
{
if(selectedTags.length===0) return Data;
var tempData=[];
for(var i in Data) {
for(var z in Data[i].tags) {
for(var k in selectedTags) {
var value = selectedTags[k];
if(value == Data[i].tags[z]) {
tempData.push(Data[i]);
break;
}
}
}
}
return tempData;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.