我正在开发一个带有角度的web应用程序。我已经创建了一个包含在index.html中的标题,所以它被固定在每个页面上,页面的内容通过ui视图注入。我的问题是:如果我只想在用户通过注册和登录页面之后才显示这个标题,我该怎么办?
我向路由器添加了一个变量,如下所示,但我不确定如何从index.html访问路由器的变量,因为它没有附加到控制器(因为它是所有页面的固定内容)。我打算简单地在index.html中抛出ng-hide=“index.html”。
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
});
});如何从hideHeader访问这个index.html值?是否有一种方法来设置全局范围变量并从中获取值?
发布于 2015-11-08 04:01:05
这里有一种不同的方法:专门为身份验证(登录/注销)和身份验证状态创建一个服务。然后在你的头上打电话给那个服务。假设标头依赖于您的身份验证,那么将其抽象掉是有意义的。您的登录/注册控制器将与此服务交互。
您的路由现在也可以调用此服务,以查看它们是否应该允许用户根据登录状态查看它们。
https://stackoverflow.com/questions/33590531
复制相似问题