Angular 过滤完全匹配
Angular filter exact match
好的,所以我不太确定如何称呼这个问题。
但我有以下 ng-repeat
:
ng-repeat="module in modules |filter:{ module_type_id: selectedItem.id } |filter:search:strict"
这是遍历如下所示的对象:
{id: 1, name: 'Hello', module_type_id: 5}
现在我有 12
模块类型,因此这些对象中的任何一个都具有介于 1 和 12 之间的 module_type_id
。
当我单击其中一个类别从而选择一种类型时,变量 selectedItem
被设置为该值。 (然后对列表进行排序)
这是有效的,但是有一个奇怪的错误。
如果我选择 ID 为 1
的类别,则元素 ID 为 1, 10, 11,12
我的猜测是过滤器正在获取部分值,因此只显示包含该值的结果。由于 1,10,11,12
都包含值 1
,因此显示这些结果。
那么如何确保它只显示与值完全匹配的结果?
过滤器采用另一个参数使其变得严格,您将在第二部分使用它...
ng-repeat="module in modules |filter:{ module_type_id: selectedItem.id } : true |filter:search:strict"
好的,所以我不太确定如何称呼这个问题。
但我有以下 ng-repeat
:
ng-repeat="module in modules |filter:{ module_type_id: selectedItem.id } |filter:search:strict"
这是遍历如下所示的对象:
{id: 1, name: 'Hello', module_type_id: 5}
现在我有 12
模块类型,因此这些对象中的任何一个都具有介于 1 和 12 之间的 module_type_id
。
当我单击其中一个类别从而选择一种类型时,变量 selectedItem
被设置为该值。 (然后对列表进行排序)
这是有效的,但是有一个奇怪的错误。
如果我选择 ID 为 1
的类别,则元素 ID 为 1, 10, 11,12
我的猜测是过滤器正在获取部分值,因此只显示包含该值的结果。由于 1,10,11,12
都包含值 1
,因此显示这些结果。
那么如何确保它只显示与值完全匹配的结果?
过滤器采用另一个参数使其变得严格,您将在第二部分使用它...
ng-repeat="module in modules |filter:{ module_type_id: selectedItem.id } : true |filter:search:strict"