Ionic2 离子2:事件发布/订阅不工作

Ionic2 离子2:事件发布/订阅不工作,ionic2,Ionic2,用户登录,其登录信息设置为本地存储,并转发至仪表板页面。 我要做的就是一旦用户登录,用户被转发到仪表板,我想用登录的用户详细信息更新滑动菜单 在仪表板页面的构造函数中,我发布了如下事件- let userinfo = this.storagehelper.getStorageItem("userinfo"); this.event.publish("app:userLoggedIn", userinfo); 在app.component.ts中,我订阅了这样的活动- this.even

用户登录,其登录信息设置为本地存储,并转发至仪表板页面。 我要做的就是一旦用户登录,用户被转发到仪表板,我想用登录的用户详细信息更新滑动菜单

在仪表板页面的构造函数中,我发布了如下事件-

 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:


似乎您想从其他页面更新变量。在这个问题中看我的问题可能是一个愚蠢的问题,但为了以防万一,在您将用户重定向到登录页面之前,
app.component.ts
文件中的代码行
this.event.subscribe(…)
,是放置在登录页面的吗?
console.warn(“侦听已发布的事件”)正在打印吗?@sebaferras LoginPage是登录页,该页没有滑动菜单。Loginpage重定向到仪表板页面,该页面发布事件。但我猜app.component.ts是在登录页面呈现之前执行的。所以首先执行的是订阅事件。@suraj否没有打印任何内容,
subscribe
不起作用
async saveUser () {
  let userinfo = await this.storagehelper.getStorageItem("userinfo");
  this.event.publish("app:userLoggedIn", userinfo);
}