Angular 4 - 跨组件动态更新内容

时间:2017-10-14 11:12:10

标签: angular ionic-framework components

也许我正在寻找错误的条款,但我没有那么努力。

我有一个侧边栏(component1),其中显示用户的名字,在我的内容部分(component2)中有一个表单,用户可以在其中更新他的名字。现在,如果用户正在更改其名称并且数据库显示正常,则名称也应在侧栏上更改。

在Ionic中有一个事件订阅,其中函数等待事件被触发(我可以再次获取用户)。 Angular 4中有类似的东西吗?

EDIT1:

这是组件所在的位置。最好的方法是如果我的auth.service存储并更新用户。如果其他组件正在进行更改,则会在auth.service中调用getUser函数,并为之前挂接它们的所有其他组件更新用户对象。

https://i.stack.imgur.com/xKllS.png

https://i.stack.imgur.com/IoFyV.png

1 个答案:

答案 0 :(得分:1)

我会使用RxJS observables来听取表单上应用的任何更改:component 1component 2可以使用subject在它们之间进行通信。当用户提交表单时,外部服务或component 2本身会将数据发送到后端并等待响应。

如果响应成功,则它使用RxJS主题的​​next()方法让其他组件了解新用户详细信息。由于component 1订阅了同一主题,它将收到更新的数据。

此方法不仅允许component 2,而且订阅该主题的任何其他组件都知道更新。