Я работаю над веб-приложением с угловым. Я создал заголовок, который включен в index.html, поэтому он привязан к каждой странице, а содержимое страницы вводится через ui-view. Мой вопрос: если я хочу только показать этот заголовок после, пользователь прошел регистрацию и страницы входа, что мне делать?Доступ к переменной от маршрутизатора в Угловом
Я добавил переменную к моему маршрутизатору, как показано ниже, но я не уверен, как получить доступ к переменной маршрутизатора из index.html, поскольку она не привязана к контроллеру (поскольку это фиксированный контент на всех страницах). Я намеревался просто выбросить ng-hide = "hideHeader" в 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? Есть ли способ установить глобальную переменную области видимости и получить значение оттуда?
Просто примечание, ng-if меньше веса, чем ng-hide/ng-show, поэтому я буду использовать его, когда это возможно. Кроме того, при добавлении данных в состояние вы должны использовать параметр данных, как это видно из документации [здесь] (https://github.com/angular-ui/ui-router/wiki). – nggonzalez