如何将数据从app.component.ts传递到Ionic 3中的其他页面?

时间:2018-10-10 06:57:58

标签: angular ionic3

我已经在登录页面中发布了带有一些json数据的事件,并在app.component.ts中订阅了该事件,并对其进行了控制台,它在控制台输出中显示了json数据,现在我想传递订阅的事件数据(json数据)移至侧边菜单中的另一页,它在app.component.ts

中使用open(page)方法

login.ts

.pie-wrapper .arc { background-color: white; }

app.component.ts

this.events.publish('user:login', this.afterLoginObject);

}

在这里我卡住了...我想将订阅的json对象与侧面菜单方法openPage()的页面导航一起发送到其他页面。这样我就可以在整个应用程序中全局使用相同的json。 任何答案请先谢谢。

2 个答案:

答案 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');
}

working example

如果您想在应用程序内部全局使用componentJSON,则必须使用Data Service. this link来实现Data Service.