我想实现一个动态头文件组件,它根据用户角色进行更改。基于用户类型的角度4动态头文件
这里是我的头组件
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css']
})
export class HeaderComponent implements OnInit {
currentUser:any;
constructor(
) {
this.currentUser = JSON.parse(localStorage.getItem('currentUser'));
}
ngOnInit() {
}
}
这是我的头模板
<nav class="navbar navbar-default" >
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right">
<li class="menu_item" *ngIf="!currentUser"><a [routerLink]="['/login']"> Login </a></li>
<li class="menu_item" *ngIf="currentUser"><a [routerLink]="['/signin']">Logout</a></li>
</ul>
</div>
</nav>
但问题是
- 登录后,即标题文本没有变化(不更改 登录 - >注销)
- 注销后,该标题文本不会改变(不改变 注销 - >登录)
- 但它更改标题文本,如果我刷新页面。但不会自动改变路线
任何人都可以帮助我吗?
它是什么样的用户对象 –
您设置此。 currentUser只有localStorage的值一次。当用户登录/注销时,可能会更改存储器中的值,但组件不会再次读取该值。您可以使用EventEmitter作为此服务或共享服务。 –
可以解释我如何使用共享服务来实现它 –