Я довольно новичок в Angular 2, и у меня есть небольшая проблема. У меня есть компонент заголовка, в заголовке я хочу использовать ngIf
, потому что на экране входа я скрою заголовок (navbar). Кроме того, я хочу скрыть некоторые вещи из заголовка, в зависимости от профиля пользователя.Angular2 Подпишитесь на глобальную переменную
Для хранения, если пользователь вошел в систему, у меня есть глобальная служба по имени variables.ts, который выглядит следующим образом:
import { Injectable } from '@angular/core';
@Injectable()
export class Variables {
private url = "...";
private username;
private password;
private isLoggedIn = false;
constructor() {}
setUrl(val) {
this.url = val;
}
getUrl() {
return this.url;
}
setUsername(val) {
this.username = val;
}
getUsername() {
return this.username;
}
setPassword(val) {
this.password = val;
}
getPassword() {
return this.password;
}
setIsLoggedIn(val) {
this.isLoggedIn = val;
}
getIsLoggedIn() {
return this.isLoggedIn;
}
}
Мой заголовок-компонент выглядит следующим образом:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { Variables } from '../../services/variables';
@Component({
selector: 'app-header',
moduleId: module.id,
templateUrl: 'header.component.html'
})
export class HeaderComponent {
constructor(private variables: Variables) {}
isLoggedIn() {
return this.variables.getIsLoggedIn();
}
console.log(loggedIn);
}
И последнее, но не в последнюю очередь, в header.component.html я сделал это:
<nav class="navbar navbar-default navbar-static-top" *ngIf="isLoggedIn()">
Моя проблема заключается в том, что компонент header не автоматически обновляет var loggedIn
, поэтому заголовок скрыт, если я вошел в систему.
Как я могу сделать его работоспособным?
http://stackoverflow.com/questions/34572005/persisting-and -accessing-values-globally-in-multiple-components-in-angular-2 – Sefa
спасибо за комментарий, но если я его реализую, я получаю аннотацию «Нет директивы, найденную на переменных» ... Знаете ли вы какую-либо помощь? ? – Junias
Почтовый код, как вы реализовали свой глобальный сервис. – Sefa