首页 > web前端 > js教程 > Angular 2 中的同级组件如何进行通信?

Angular 2 中的同级组件如何进行通信?

Patricia Arquette
发布: 2024-11-30 04:51:10
原创
283 人浏览过

How can sibling components communicate in Angular 2?

Angular 2 兄弟组件之间的通信

在 Angular 2 中,兄弟组件通信可以通过依赖注入和共享服务来实现。

共享服务方法(Angular 2 RC4 和稍后)

推荐的方法包括创建一个共享服务,兄弟组件可以通过依赖注入访问该服务。这是一个示例:

// shared.service.ts
@Injectable()
export class SharedService {
  dataArray: string[] = [];

  insertData(data: string) {
    this.dataArray.unshift(data);
  }
}
登录后复制

父组件:

// parent.component.ts
@Component({
  providers: [SharedService],
  directives: [ChildComponent, ChildSiblingComponent]
})
export class parentComponent { }
登录后复制

同级组件:

// child.component.ts
constructor(private _sharedService: SharedService) { }
ngOnInit(): void {
  this.data = this._sharedService.dataArray;
}

// child-sibling.component.ts
constructor(private _sharedService: SharedService) {}
addData() {
  this._sharedService.insertData(this.data);
  this.data = '';
}
登录后复制

这样做的好处方法:

  • 实现简单
  • 支持兄弟组件之间的直接通信,无需事件发射器或$rootScope。$broadcast
  • 允许多个人之间共享数据组件

注意:

  • 仅在父组件中提供服务,但在两个子组件中导入它。

以上是Angular 2 中的同级组件如何进行通信?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板