Как фильтровать данные по строгому соответствию в Angular js


Я хочу фильтровать данные на лету, когда данные предоставляются в ng-grid в angular. чего я пытаюсь достичь, так это того, что когда я фильтрую "Нефий", то все данные, которые содержат "Нефий" с его помощью.

Я предоставляю ссылку на плунжер, чтобы лучше понять:

Например, если я ищу 'Nephi' , то он должен дать мне только 1 результат или точный результат(ожидаемый результат) 1. Нефий

Но прямо сейчас он дает мне: 1. Нефий 2. Нефисс 3. Нефисс

2 2

2 ответа:

Фильтр принимает регулярное выражение, поэтому с помощью этого:

var filterText = 'name:^Nephi$';

Будет работать. Регулярное выражение соответствует началу строки (используя ^), слову, которое мы хотим, а затем концу строки (используя $).

Если вы используете более новую версию angular, просто добавьте: true для точного соответствия.

<div ng-repeat="val in items | filter:{item: '!search'}:true">{{val.item}}</div>