我已经在登录页面中发布了带有一些json数据的事件,并在app.component.ts中订阅了该事件,并对其进行了控制台,它在控制台输出中显示了json数据,现在我想传递订阅的事件数据(json数据)移至侧边菜单中的另一页,它在app.component.ts
中使用open(page)方法.pie-wrapper .arc { background-color: white; }
this.events.publish('user:login', this.afterLoginObject);
}
在这里我卡住了...我想将订阅的json对象与侧面菜单方法openPage()的页面导航一起发送到其他页面。这样我就可以在整个应用程序中全局使用相同的json。 任何答案请先谢谢。
答案 0 :(得分:1)
您可以为此使用共享服务,也可以使用事件发射器,@ input,@ output,@ viewchild(如果它们遵循父子关系)在组件之间传递数据。
请参考以下链接:
https://angularfirebase.com/lessons/sharing-data-between-angular-components-four-methods/
答案 1 :(得分:0)
您可以将数据发送到特定页面,如下所示。
openPage(page) {
this.nav.setRoot(page.component, {'componentJSON' : this.componentJSON });
}
您可以使用componentJSON
在另一页中抓取NavParams
,如下所示。
constructor(private nav : NavParams) {
let data = this.nav.get('componentJSON');
}
如果您想在应用程序内部全局使用componentJSON
,则必须使用Data Service.
this link来实现Data Service.