您好我正在使用angularjs开展项目。 我的旋转逻辑是
.state( "authenticate", {
url: '/',
templateUrl : "views/login.html",
controller : "LoginCtrl",
data : {
requireLogin : false
}
})
.state( "beats", {
url: '/beats',
templateUrl : "views/beats.html",
controller : "BeatsCtrl",
data : {
requireLogin : true
}
})
.state( "outlets", {
url: '/outlets',
templateUrl : "views/beats.html",
controller : "BeatsCtrl",
data : {
requireLogin : true
}
})
我ng-view
中的index.html
首先包含login.html
(网址' /')。在每个州登录后,我想使用navbar
在每个模板中加入ng-include
。
目前我在每一页写这行
<div ng-include=" 'templates/navbar.html' "></div>
但我想只包含一次,每个视图都应该在它下面呈现。但问题是这个导航栏模板本身在ng-view中呈现。 据我所知,我们不能在一个应用程序中使用多个ng-view。
任何人都可以告诉我这样做的最佳方法是什么。
答案 0 :(得分:3)
你可能有这个导航栏包含在index.html本身,但是使用ng-if或ng-show隐藏它直到用户登录。一旦用户登录,你可以有一个评估为的标志为true,此导航栏可以显示在每个后续页面上。
index.html中的
<div id="navbar" ng-if="isUserLoggedIn">
// nav bar code
</div>
这个'isUserLoggedIn'将由范围内的LoginCtrl设置为true。