ホームページ > ウェブフロントエンド > jsチュートリアル > Angular 2 では兄弟コンポーネントはどのように通信できますか?

Angular 2 では兄弟コンポーネントはどのように通信できますか?

Patricia Arquette
リリース: 2024-11-30 04:51:10
オリジナル
353 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート