我已经成功绑定了我的选择过滤器和ng-repeat,但是当用户选择默认(null)值时,我很难“删除”过滤器,因为这实际上匹配了一些结果。
数据的结构如此;
过滤
选择输入:
<select name="category" id="category" ng-model="category" ng-options="category.name as category.name for category in categories">
<option value="" label="Select a category">Select a category</option>
</select>
数据集
categories [
0: {
name: "Category name"
products: [
0: "product name"
...
]
}
...
]
纳克重复
重复元素:
<li ng-repeat="store in stores | filter: category as products">
<h3>{[{ store.name }]}</h3>
</li>
数据集:
stores: [
0: {
...
name: "Store name"
products: [
0: {
name: "Category name"
products: [
0: "Product name"
...
]
}
...
]
...
}
1: {
...
name: "Store 2"
products: null
}
...
]
值得注意的是,上面的数据集是正确的格式,产品而不是类别(我将在未来的某个时候试图改变它!)
实际上,过滤器可以工作,可能正如我所说的那样。问题是当选择“选择类别”默认值时,产品具有空值的商店是显示的唯一项目。就在那时我想要显示所有项目或过滤器上的“清除”。