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"