【问题标题】:how to passing data different component that are not parent and child component如何传递不是父子组件的不同组件的数据
【发布时间】:2016-10-20 15:28:27
【问题描述】:

我有 3 个组件,即 app.component、body.component、detail、component。 当我详细点击按钮时, 我想要 app.component 登录名等于 detailcomponet 登录名 我使用服务共享数据来通信两个组件,我可以将数据传递给服务,但 appcompont 无法生效。 应用和细节组件

服务和路由器和正文组件

【问题讨论】:

  • 使用共享服务在不是直接父子或兄弟的组件之间共享数据。 angular.io/docs/ts/latest/cookbook/component-communication.html
  • 我只是修改代码使用共享服务这种方法,我可以将数据传递给服务,console.log 确认它。但无法影响应用程序组件。麻烦你有时间看看。我在上面贴了两张图片。非常感谢你,应用程序构造函数:constructor(private psservice:Passservice){ psservice.passdata$.subscribe(shardata =>{ this.loginname=shardata; //this.loginname='haha "$ {shardata}" hello'; //console.log(shardata); });
  • 如果将服务添加到每个组件,那么每个组件将获得不同的服务实例。要么将其添加到作为两者父组件的组件的提供者,要么添加到@NgModule() 的提供者,然后一个服务实例将与整个应用程序共享。
  • 我使用应用程序模块提供商添加此服务而不是其他组件。效果很好,对我很有帮助,非常感谢。

标签: angular router


【解决方案1】:

如果您将服务添加到每个组件,那么每个组件将获得不同的服务实例。要么将它添加到作为两者父组件的组件的提供者,要么添加到 @NgModule() 的提供者,然后一个服务实例将与整个应用程序共享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2018-07-31
    相关资源
    最近更新 更多