2013-08-28 89 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

謝謝。這幫助我解決了這個問題。 –