我有一个看起来像这样的JSON Feed:
[{
"title":"Post 1",
"categories":[1]
},{
"title":"Post 2",
"categories":[12,123]
},{
"title":"Post 3",
"categories":[123]
}]
我希望能够通过"类别"来过滤它。和"标题",像这样:
<select ng-model="search.categories">
<option value="">Categories</option>
<option value="1">1</option>
<option value="12">12</option>
<option value="123">123</option>
</select>
<input ng-model="search.title">
<ul>
<li ng-repeat="post in posts | filter:search">
{{post.title}} - {{post.categories}}
</li>
</ul>
标题搜索工作正常。但对于类别搜索&#34; 1&#34;匹配&#34; 1&#34;,&#34; 12&#34;和&#34; 123&#34; (同样地,&#34; 12&#34;匹配&#34; 12&#34;和&#34; 123&#34;)。有没有办法将搜索结果限制为完全匹配?我假设这样做&#34;类别&#34;数组必须以某种方式拆分,以便每个ID分别匹配。
另一种选择:我可以根据嵌套子循环的内容过滤父循环吗?这是代码:
<ul>
<li ng-repeat="post in posts | filter:search">
{{post.title}}
<ul>
<li ng-repeat="category in post.categories">
{{category}}
</li>
</ul>
</li>
</ul>
答案 0 :(得分:0)
您可以在另一个冒号之后添加比较函数或简单true
,以使角度仅接受完全匹配。您也可以通过添加另一个管道来使用多个过滤器。看起来应该是这样的:
<li ng-repeat="post in posts | filter : search.categories : true | filter : search.title">