如何在angular2中将一个组件连接到另一个组件

时间:2018-12-11 11:54:42

标签: javascript angular typescript

我有2个不同的组件,也有不同的模块。 现在,我将数据保存在一个组件中,该保存的数据必须提取到另一组件中。 我如何获取组件之间的数据,请帮忙。

第一个组件:

saveSidebar() {
    let params = { userGuID: this.uID, MenuIds: this.selectedMenuIds.toString() }
    console.log(params);
    this._Service.addUserMenu(params).subscribe((res) => {
      if (res.Header.Success) {

      }
    })
  }

此处保存的数据必须转到位于不同组件中的menu component

4 个答案:

答案 0 :(得分:2)

您可以使用在两个组件中均已导入且共享数据的服务。因此,您可以从第一个组件更新服务,然后在另一个组件上创建一个事件侦听器,以侦听服务的更改并相应地更新ui / data。

答案 1 :(得分:0)

对于父子通讯,您可以使用@input()@output(); 对于其他用户,您可以使用服务,在父模块或根模块中注册服务,以了解更多信息,请访问下面的链接。 https://blog.nrwl.io/essential-angular-dependency-injection-a6b9dcca1761

答案 2 :(得分:0)

如果多个模块使用相同的变量数据,则最好在应用程序根目录级别创建服务,在项目中需要的地方修改和访问其变量,即服务示例代码

    import { Injectable } from '@angular/core';        

      @Injectable({
      providedIn: 'root'
      })
      export class UserinfoService {
        public userName : string = 'username'
      }

要在整个项目中都可以访问该服务,必须在根级别上注入该服务。

答案 3 :(得分:0)

您可以使用主题或行为主题。一个组件的更改会自动通过主题反映到另一组件中。