2013-08-28 94 views
0

我在我的项目中使用Angular JS和Angular IU-Router并使用大量的ui视图。我有一种情况需要更改网站的语言,因此我需要将我的ui-view模型与相关语言交换到另一个模型。我已经有一种服务来检测相关模型并将其传递到ui-view的控制器中。所以如果我能重新加载ui-view,理论上我的问题就可以解决了。我记得读过一些关于自动重新载入ui-view(或者可能是一个ng-view)并重新实例化它的控制器的内容,但是经过很多搜索后,我再也找不到那些信息。angular js重新加载视图

有人知道我在找什么吗?

回答

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> 
+0

感谢您的回答。我不知道这两者中的哪一个对我而言都是必要的。这不仅仅是我在交换模型时需要考虑的语言,而且还可能包括潜在的位置(大都市,国家)和工作角色(经理,工人)。我已经建立了一个系统,我的JSON数据可以扩展并覆盖自己以解释这些不同的工作角色,但是如果我找不到替换模型的方法,我无法显示信息。 –

+0

https://github.com/angular-ui/ui-router/issues/76 – maow

+0

谢谢。这帮助我解决了这个问题。 –