登录成功后如何调用app.component.ts

时间:2018-12-15 02:47:24

标签: ionic-framework

成功登录后,我将员工ID和用户名存储在本地存储中,并尝试访问声明了配置文件菜单的app.component.ts,因为app.component.ts初始化了我的应用程序的启动,因此无法提取在login.ts

中设置的用户名

login.ts:

if (login successful) {
    this.storage.set('empid', this.dbempid);
    this.storage.set('empname', this.dbusername);
    this.navCtrl.push(this.dashBoardPage); 
}

app.component.ts

this.storage.get('empname').then((val) => {
    this.connectedUsername = val;
});

app.html

{{connectedUsername}}

1 个答案:

答案 0 :(得分:1)

听起来像您在组件通信中挣扎(登录页面需要告知包含该内容的App某些信息)。从我的角度来看,有几种选择:

  1. 进行身份验证服务/提供程序。让Login.ts写入该服务中的属性。然后让app.component.ts和app.html显示来自该服务的数据(只要发生这种情况,登录名便会设置这些数据)。
  2. 使用事件。由于app.component.ts是在用户登录(Login.ts)之前加载的,因此一旦用户成功登录Login.ts页面,就可能触发事件。 app.component.ts文件可以预订该事件,然后在该位置检查存储中是否有新保存的用户名。 Ionic已为您构建了一个友好的事件系统:https://ionicframework.com/docs/api/util/Events/