2016-12-23 3 views
3

Я пытаюсь применить фильтр по полю, имеющего перевод i18N, но почему-то он не работает как аспект. Вот деталь: Html:angularjs фильтр не работает над текстом i18n

<div> 
     <input class="form-control filter" type="text" data-ng-model="activityFilter"> 
    </div> 
<tr data-ng-repeat="feature in features | orderBy: orderColumns | filter: activityFilter"> 

      <td>{{feature.classifier| i18n }}</td> </tr> 

I18N перевод:

Для шведского файла:

"CULTURE":"Kultur", 

Для английского языка:

"CULTURE":"Culture" 

Теперь перевод прекрасно работает, когда я изменить флаги перевода. Но когда перевод является шведским, и если я пытаюсь искать как «культура», он фильтрует записи. Однако на странице он показывает записи «Культура». Точно так же, как если бы я пытался искать «Культура», это дало мне пустой результат. Вот несколько снимков экрана. Это является фактические записи: [! [Введите описание изображения здесь] [1]] [1]

Это когда я поиск с использованием культуры на том же переводе: [[введите описание изображения здесь] [2] ] [2]

Это то, что фильтр дает мне результат на той же странице, когда я пытаюсь найти с Kulter: [[введите описание изображения здесь] [3]] [3]

Может кто-нибудь объяснить мне, почему это происходит и как это решить.

------------- обновление снимок экрана ------

[! [Введите описание изображения здесь] [4]] [4]

+0

попробовать фильтр, как этот фильтр: {КУЛЬТУРА: activityFilter} –

ответ

0

Фильтр работает на объекте "feature". См. https://docs.angularjs.org/api/ng/filter/filter для более подробного описания. В основном фильтр работает рекурсивно на всех свойствах объекта.

Однако сам объект содержит перевод ключ «КУЛЬТУРА», так что это отфильтровано.

Вы можете пройти либо в компараторе с фильтром (см. Документы, указанные выше), и выполнить перевод в компараторе.

Или вы не используете фильтр по умолчанию с именем «фильтр», но написать собственный фильтр, см, например https://scotch.io/tutorials/building-custom-angularjs-filters

0

Согласно к данной информации, ваше отображение:

"CULTURE":"Kultur" 

Но вы искали слово: Kulture на скриншоте. Это может быть причина?

+0

Нет это не причина. Я только что обновил снимок экрана –

Смежные вопросы