Angular 如何在菜单中显示用户名
我的app.component.ts中有一个Angular 如何在菜单中显示用户名,angular,ionic-framework,ionic3,Angular,Ionic Framework,Ionic3,我的app.component.ts中有一个{{user_name}}变量,我想用它来显示用户登录后从本地存储中获取的用户名 但这只在应用程序启动时加载,我想在用户登录后重新加载它。当我在登录后关闭并重新打开应用程序时,它工作正常,并显示用户名。但一开始,它只显示“hi”,不显示用户名 <ion-menu [content]="content" > <ion-header> <ion-toolbar> <ion-tit
{{user_name}}
变量,我想用它来显示用户登录后从本地存储中获取的用户名
但这只在应用程序启动时加载,我想在用户登录后重新加载它。当我在登录后关闭并重新打开应用程序时,它工作正常,并显示用户名。但一开始,它只显示“hi”,不显示用户名
<ion-menu [content]="content" >
<ion-header>
<ion-toolbar>
<ion-title>
<p>
HI! {{user_name}}
</p></ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list >
<button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">
{{p.title}}
</button>
<button menuClose ion-item (click)="logout()" >
Log Out
</button>
</ion-list>
</ion-content>
</ion-menu>
<!-- Disable swipe-to-go-back because it's poor UX to combine STGB with side menus -->
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
你好{{user_name}}
{{p.title}}
注销
我知道我可以在用户登录时发布事件,但如何在收到事件后重新加载菜单我遇到了一个非常类似的情况,我认为最好的方法是: 应用程序组件.ts
import { ..., Events } from 'ionic-angular'; //First import events
constructor(
...
public events: Events,
...
){
.....
events.subscribe('user:created', (user) => {
this.user_name=user.name;
});
...
}
现在,您可以使用this.events.publish('user:created',user')在应用程序中的任何位置更改该值代码>
例如:
login.ts
import { Your other imports...,Events} from 'ionic-angular';
constructor(
...
public events: Events,
...
) {}
// let's assume you did your login and have an user array which has user.name in it,
// pass that data like this
updateUserInfo(user){
this.events.publish('user:created', user);
}
它将按预期工作。希望它有助于…显示从LocalStorages获取的代码这是Angular中变量的状态管理所做的,在这种情况下,您需要使用observable/Subscribe,因为Angular正在使用离子事件可能会对您有所帮助。参考此链接是的,我现在已经发布了一个事件,但是如果我发布了一个我力所能及的事件,我怎么能重新加载菜单,请留下您宝贵的建议@我不太清楚你这是什么意思?你对活动是如何运作的好奇吗?很抱歉,我知道活动是如何运作的,我只想知道当一个活动发生时,我已经订阅了它。在那个事件发生的时候,我能捕捉到它并能发出警报。但是我只希望菜单应该重新加载,而不是那个警报,因为它没有显示用户名this.events.publish
将重新加载离子菜单上的数据,如果您按照我在回答中解释的操作。如果你创建一个stackblitz将更容易提供帮助。非常感谢你在逻辑中添加了一些内容后提供了宝贵的帮助。我是在你的帮助下做的