【发布时间】:2014-04-12 02:28:00
【问题描述】:
如果您查看下面的代码,我想使用文本 <input> 来按多种成分过滤每个菜单项 - 例如,如果用户在 <input> 中输入“牛肉,培根” ,该应用将返回所有以牛肉或培根为原料的菜单项。
我目前正在尝试使用 ng-filter 执行此操作,我猜我需要为此创建一个自定义过滤器。这是错误的方法吗?有没有办法动态链接过滤器?
这里有一些代码应该可以理解我的问题 -
我的搜索模型: - 注意:使用 ng-list 将字符串转为子字符串数组
<div ng-init="searchString=[]">
<input type="text" ng-model="searchString" ng-list>
</div>
我的 ng-repeat 循环: - 注意:使用自定义过滤器将我的每种成分加入一个字符串
<tr ng-repeat="item in menu | filter:{ category : 'Classics' } | filter:{ ingredients : searchString } ">
<td class="title">{{ item.title }}</td>
<td class="ingredients">
{{ item.ingredients | join:', ' }}
</td>
<td class="price">{{ item.price | currency }}</td>
</tr>
我的数据结构
$scope.menu = [
{
"title" : "New Yorker",
"price" : "4.00",
"ingredients" : [
"Salt Beef",
"Pickles",
"Mustard"
],
"category" : "Classics"
},
{
"title" : "BLT",
"price" : "4.00",
"ingredients" : [
"Bacon",
"Lettuce",
"Tomato"
],
"category" : "Classics"
}
]
【问题讨论】:
标签: javascript angularjs