我正在使用Angular开发一个Web应用程序。我创建了一个包含在index.html中的头文件,因此它被固定到每个页面,并且页面内容通过UI视图注入。我的问题是:如果我只想在之后显示此标头,那么用户已通过注册和登录页面,我该怎么办?从Angular中的路由器访问变量
我已经添加了一个变量到我的路由器,如下所示,但我不知道如何从index.html访问路由器的变量,因为它没有连接到控制器(因为它是跨所有页面的固定内容)。我打算简单地在index.html中抛出一个ng-hide =“hideHeader”。
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'app/views/login/login.html',
controller: 'loginController',
controllerAs: 'vm',
hideHeader: true
})
.state('signup', {
url: '/signup',
templateUrl: 'app/views/signup/signup.html',
controller: 'signupController',
controllerAs: 'vm',
hideHeader: true
})
.state('landing', {
url: '/landing',
templateUrl: 'app/views/landing/landing.html',
controller: 'landingController',
controllerAs: 'vm',
hideHeader: false
})
.state('account-management', {
url: '/account-management',
templateUrl: 'app/views/account-management/account-management.html',
controller: 'accountManagementController',
controllerAs: 'vm'
hideHeader: false
});
});
我怎样才能在index.html访问此hideHeader价值?有没有办法设置全局范围变量并从那里获取值?
请注意,ng-if的重量要比ng-hide/ng-show的重量轻,所以我会尽可能使用它。另外,当将数据添加到状态时,应该使用数据参数,如文档[此处](https://github.com/angular-ui/ui-router/wiki)中所示。 – nggonzalez