我正在开展角度项目,我的需求只是登录页面上的隐藏标题块。我试图在登录页面上隐藏标题。但它仍然不适合我。你有没有人帮我隐藏登录状态。
这里是我的索引html
<div ng-include src="'views/header.html'" ng-hide="$state.current.name === 'login'"></div>
<div class="">
<div ui-view></div>
</div>
这是我的app.js
var app = angular.module('Qapp', ["ui.router", "ngRoute"])
app.config(function($stateProvider, $urlRouterProvider) {
//$urlRouterProvider.when('/dam', '/dam/overview');
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('base', {
abstract: true,
url: '',
templateUrl: 'views/base.html'
})
.state('login', {
url: '/login',
parent: 'base',
templateUrl: 'views/login.html',
controller: 'LogCt'
})
.state('dam', {
url: '/dam',
parent: 'base',
templateUrl: 'views/dam.html',
controller: 'DamCt'
})
});
答案 0 :(得分:5)
您无法直接在HTML上访问$state
对象。要访问它,您应该将$state
对象与$scope
/ $rootScope
放在一起,您可以在run
阻止/ controller
&amp;使用$state.includes
代替$state.current.name
<强>标记强>
<div ng-include src="'views/header.html'" ng-hide="$state.includes('login')">
</div>
<强>代码强>
app.run(function($state, $rootScope){
$rootScope.$state = $state;
})