用户登录,其登录信息设置为本地存储,并转发到DashboardPage。 我要做的就是一旦用户登录并且用户被转发到仪表板,我想更新带有登录用户详细信息的滑动菜单。
在仪表板页面的构造函数中,我发布了这样的事件 -
let userinfo = this.storagehelper.getStorageItem("userinfo");
this.event.publish("app:userLoggedIn", userinfo);
而在app.component.ts
,我订阅了这样的事件——
this.event.subscribe("app:userLoggedIn", userObject => {
console.warn("Listening to published event");
this.setMenuUsers(userObject);
});
setMenuUsers(userinfo){
this.LoginUserEmail = userinfo.UserName;
this.LoginUserName = userinfo.EmployeeName;
this.LoginUserCompany = userinfo.CompanyName;
}
问题
菜单没有更新,订阅事件根本不起作用。谁能帮助我做错什么?
试试这样—— TS:
async saveUser () {
let userinfo = await this.storagehelper.getStorageItem("userinfo");
this.event.publish("app:userLoggedIn", userinfo);
}