【发布时间】:2018-08-21 18:55:22
【问题描述】:
我的应用程序中有 4 个角色。我只是为每个用户分配一个像 1,2,3,4 这样的值,并将登录的用户名和相应的值存储在会话中。
我有一个主页,可以从中导航到其他登录屏幕。在主页中,我需要显示一个导航栏。在不同的登录页面中,我需要显示另一个导航栏,登录后还需要显示另一个。
我正在使用一个通用导航栏,我在 div 中使用 *ngIf 条件来检查存储在会话中的角色并相应地路由导航栏 div。
<div *ngIf =" role === 'null'" >
Navbar home
</div>
<div *ngIf = "role === '1' ">
Navbar 1
</div>
<div *ngIf = "role === '2'" >
Navbar 2
</div>
我的问题是,登录后,我只能看到我的主页导航栏。只有在刷新页面后才能看到导航栏 1。如果我返回导航栏 1,则不会更改为导航栏主页。
任何人都可以帮我解决这个问题。
【问题讨论】:
-
您究竟是如何更新角色的?我认为问题在于角色正在发生变化,但它并没有反映模板中的变化。使用角色作为 BehaviorSubject 并在此模板的 Component 类中订阅它。
标签: html angular typescript navbar angular6