首頁 > web前端 > js教程 > 如何在 Angular 2 中的同級元件之間進行通訊?

如何在 Angular 2 中的同級元件之間進行通訊?

Linda Hamilton
發布: 2024-11-14 13:40:02
原創
359 人瀏覽過

How Can I Communicate Between Sibling Components in Angular 2?

Angular 2 同級組件通訊

同級組件無法存取彼此的屬性和方法。本文探討了 Angular 2 中兄弟元件之間利用共享服務進行通訊的簡單機制。

共享服務方法

1。共享服務:

建立共享服務作為通訊中心。

@Injectable()
export class SharedService {
    dataArray: string[] = [];

    insertData(data: string) {
        this.dataArray.unshift(data);
    }
}
登入後複製

2.父元件:

匯入並提供父元件中的共用服務。

import {SharedService} from './shared.service';
@Component({
    selector: 'parent-component',
    template: `<child-component></child-component>
               <child-sibling-component></child-sibling-component>`,
    providers: [SharedService]
})
export class ParentComponent { }
登入後複製

3.子組件:

將共享服務注入到兩個兄弟組件:

子組件1:

import {SharedService} from './shared.service'
@Component({
    selector: 'child-component',
    template: `...`
})
export class ChildComponent implements OnInit {
    data: string[] = [];
    constructor(private _sharedService: SharedService) { }
}
登入後複製

子組件組件2(弟兄姊妹):

import {SharedService} from './shared.service'
@Component({
    selector: 'child-sibling-component',
    template: `...`
})
export class ChildSiblingComponent {
    data: string = 'Testing data';
    constructor(private _sharedService: SharedService) { }
}
登入後複製

4。資料共享:

同級組件可以修改共享服務的資料數組,這將反映在其他同級組件中。

addData() {
    this._sharedService.insertData(this.data);
    this.data = '';
}
登入後複製

註解:

  • 僅在父元件中包含共用服務提供者,以避免建立多個實例。
  • 將服務匯入並注入到兄弟元件中。
  • 更新匯入高於 beta 的 Angular 2 版本的語句。

以上是如何在 Angular 2 中的同級元件之間進行通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板