цепочка угловых фильтров: перевод не обновляет

0

В моем коде страницы у меня есть выражение:

{{key | containerkeyname | translate }}

где ключ - некоторая строка (идентификатор поля), фильтр-имя- контейнер принимает его и выводит ключ трансляции (обслуживает удобное для пользователя описание для поля), и, наконец, перевод - это перевод этого ключа.

Это работает отлично (перевод предоставляется), однако, когда я меняю язык перевода, это выражение не переводится (в отличие от остальной части интерфейса, который использует много переводов, главным образом, с помощью директивы). Я запутался, так как фильтр перевода последний в строке.

Что могло быть причиной и как я мог добиться нормального повторного перевода этого выражения?

  • 1
    Это может быть из-за фильтров без сохранения состояния.
Теги:
angular-translate

1 ответ

0

AS @Chandermani сказал, что первопричиной является вероятный фильтр без учета $ translate. (См. Замечательную функцию в фильтрах stateful/stateeless: http://blog.thoughtram.io/angularjs/2014/11/19/exploring-angular-1.3-stateful-filters.html). Таким образом, только изменение того, что есть до этого фильтр вызовет реакцию.

Чтобы он работал, я изменил код следующим образом:

 span(translate='{{key|containerkeyname}}')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню