header 在我的 angular 中隐藏特定页面
header hide for a particular page in my angular
我正在从事 angular 项目,我的需要是仅在登录页面上隐藏 header 块。我试图在登录页面上隐藏 header。但它仍然对我不起作用。谁能帮我把它隐藏在登录状态。
这是我的索引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'
})
});
您无权直接访问 HTML 上的 $state
对象。要访问它,您应该将 $state
对象与 $scope
/$rootScope
一起放置,您可以在 run
块/controller
中执行此操作并使用 $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;
})
我正在从事 angular 项目,我的需要是仅在登录页面上隐藏 header 块。我试图在登录页面上隐藏 header。但它仍然对我不起作用。谁能帮我把它隐藏在登录状态。
这是我的索引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'
})
});
您无权直接访问 HTML 上的 $state
对象。要访问它,您应该将 $state
对象与 $scope
/$rootScope
一起放置,您可以在 run
块/controller
中执行此操作并使用 $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;
})