在我的应用程序中,索引页面就像
<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的becoz)。
当用户点击登录按钮时,他/她被定向到主页并再次被重定向到登录页面。所以页面上没有显示任何变化。
可以使用ng-if的ng-show / hide来解决此问题。但是这又产生了另一个问题,即控制器在dom中被称为两次ng-view的两个becoz,并且也不能使用id becoz来引用元素。两个元素是从同一个id生成的。所以这个解决方案无法使用。
有什么方法可以解决它吗?
答案 0 :(得分:1)
多个&amp;嵌套ng-view
无法在同一页面上运行。
您需要查看angular ui-router哪个版本适用于您的情况,您还可以使用嵌套ui-view
使用angular ui-router
或者您可以使用ng-if
ui-router