Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Berkomunikasi Antara Komponen Adik Beradik dalam Sudut 2?

Bagaimanakah Saya Boleh Berkomunikasi Antara Komponen Adik Beradik dalam Sudut 2?

Linda Hamilton
Lepaskan: 2024-11-14 13:40:02
asal
373 orang telah melayarinya

How Can I Communicate Between Sibling Components in Angular 2?

Komunikasi Komponen Angular 2 Sibling

Komponen adik-beradik tidak mempunyai akses kepada sifat dan kaedah masing-masing. Artikel ini meneroka mekanisme mudah untuk komunikasi antara komponen adik-beradik dalam Angular 2, menggunakan perkhidmatan kongsi.

Pendekatan Perkhidmatan Kongsi

1. Perkhidmatan Kongsi:

Buat perkhidmatan kongsi untuk bertindak sebagai hab komunikasi.

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

    insertData(data: string) {
        this.dataArray.unshift(data);
    }
}
Salin selepas log masuk

2. Komponen Induk:

Import dan sediakan perkhidmatan kongsi dalam komponen induk.

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 { }
Salin selepas log masuk

3. Komponen Kanak-kanak:

Suntikan perkhidmatan yang dikongsi ke dalam kedua-dua komponen adik-beradik:

Komponen Kanak-kanak 1:

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

Kanak-kanak Komponen 2 (Adik beradik):

import {SharedService} from './shared.service'
@Component({
    selector: 'child-sibling-component',
    template: `...`
})
export class ChildSiblingComponent {
    data: string = 'Testing data';
    constructor(private _sharedService: SharedService) { }
}
Salin selepas log masuk

4. Perkongsian Data:

Komponen adik-beradik boleh mengubah suai tatasusunan data perkhidmatan kongsi, yang akan ditunjukkan dalam komponen adik-beradik yang lain.

addData() {
    this._sharedService.insertData(this.data);
    this.data = '';
}
Salin selepas log masuk

Nota:

  • Sertakan pembekal perkhidmatan yang dikongsi hanya dalam komponen induk untuk mengelak daripada mencipta berbilang contoh.
  • Import dan suntikan perkhidmatan ke dalam komponen adik-beradik.
  • Kemas kini penyataan import untuk versi Angular 2 yang lebih tinggi daripada beta.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berkomunikasi Antara Komponen Adik Beradik dalam Sudut 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan