我在我的项目中使用Angular JS和Angular IU-Router并使用了很多ui-views。我有一种情况需要更改网站的语言,因此我需要将我的ui-view模型与相关语言交换到另一个模型。我已经有一个检测相关模型的服务并将其传递到ui-view的控制器中。所以,如果我可以重新加载ui-view,那么理论上我的问题就会解决。
我记得读过一些关于自动重新加载ui-view(或可能是ng-view)并重新实例化其控制器的内容,但经过大量搜索后,我再也无法找到该信息。
有谁知道我在找什么?
答案 0 :(得分:0)
1看看angular-translate
https://github.com/PascalPrecht/angular-translate
2在您的情况下,在外部div中添加一些if-else
控件(ng-if, ng-switch
等),使用内部div中的相同 subview
。然后在语言更改时更改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>