вид перезагрузки angular js

Я использую Angular JS и Angular IU-Router в своем проекте и использую много UI-представлений. У меня есть ситуация, когда мне нужно изменить язык сайта, поэтому мне нужно поменять модель моего пользовательского интерфейса на другую модель с соответствующим языком. У меня уже есть служба, которая определяет соответствующую модель и передает ее в контроллер пользовательского интерфейса. Так что, если я смогу перезагрузить пользовательский интерфейс, то теоретически моя проблема будет решена.

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

Кто-нибудь знает, что я ищу?


person Widget King    schedule 28.08.2013    source источник


Ответы (1)


1 Взгляните на angular-translate https://github.com/PascalPrecht/angular-translate

2 В вашем случае добавьте элемент управления if-else ( ng-if, ng-switch и т. д.) во внешний div, используйте тот же subview во внутреннем div. Затем измените settings.currentLang, когда изменение языка может привести к перезагрузке подвида (не проверено).

<div ng-controller="containerCtrl">
    <div ng-if="settings.currentLang=='en'">
        <div ui-view='subview'></div>
    </div>
    <div ng-if="settings.currentLang=='ja'">
        <div ui-view='subview'></div>
    </div>
</div>
person maow    schedule 28.08.2013
comment
Спасибо за Ваш ответ. Я не знаю, является ли любой из них обязательно практичным в моем случае. При замене модели я должен учитывать не только язык, но и потенциальное местоположение (город, страна) и должность (менеджер, рабочий). Я настроил систему, в которой мои данные JSON могут расширяться и перезаписываться, чтобы учитывать эти разные рабочие роли, но если я не могу найти способ поменять модель, у меня нет возможности отобразить это. Информация. - person Widget King; 29.08.2013