1
在我的應用程序的索引頁面就像是多個NG視相機連NG-如果
<div ng-if="isLoggedIn>
<div ng-view>
</div>
<div ng-if="!isLoggedIn">
<div ng-if="type==='admin'">
<div ng-view>
</div>
</div>
<div ng-if="type!=='admin'">
<div>.....</div>
<div ng-view>
</div>
</div>
</div>
所以基本上我有不同的看法不同的NG-意見。這裏的問題是當用戶沒有登錄時,使用ng-view顯示登錄頁面。但是在登錄時,ng-view再次用登錄頁面初始化(可能是因爲$ route.current已經設置)。
當用戶點擊登錄按鈕時,他/她被引導到主頁並再次被重定向到登錄頁面。因此頁面上不會顯示任何更改。
這個問題可以使用ng-if/ng ins-ng來解決。但是,這又產生了另一個問題,即控制器被調用兩次,因爲在dom中有兩個ng-view,而元素也不能用id來引用。becoz兩個元素是從同一個id生成的。所以這個解決方案不能使用。
有什麼辦法解決它?
@Anita做你看着避免
ng-if
你需要看看angular ui-router這將是巨大的,你的情況來使用,你也可以使用嵌套
ui-view
在我的答案..做它可以幫助你嗎? – 2015-04-06 12:11:50是的,它很好。但在我的應用程序中改變路由和視圖的結構將會很困難。所以我改變了代碼,只做一個ng-view,並把條件放在其他div上,使它們有條件地顯示 – Anita 2015-04-08 05:41:23
他們你可以通過ng-switch-when使用'ng-switch'來使用它。看到這個http:/ /plnkr.co/edit/A0e5oKM7lmLrzdPyvMIF?p=preview – 2015-04-08 05:43:04