Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Suntikan Ketergantungan Berfungsi Melangkaui Komponen Sudut 2?

Bagaimanakah Suntikan Ketergantungan Berfungsi Melangkaui Komponen Sudut 2?

Barbara Streisand
Barbara Streisandasal
2024-11-15 18:14:03565semak imbas

How Does Dependency Injection Work Beyond Angular 2 Components?

Perkhidmatan Menyuntik dalam Sudut 2 (Beta)

Dalam Sudut 2, menyuntik perkhidmatan ke dalam komponen adalah mudah, tetapi bagaimana kita boleh menggunakan suntikan pergantungan (DI) untuk memindahkan perkhidmatan melangkaui komponen?

Perkhidmatan Menyuntik Di Luar Komponen

Untuk mencapai matlamat ini, kami mencatatkan perkhidmatan yang diingini dengan penghias @Injectable. Penghias ini menandakan bahawa parameter dalam pembina kelas beranotasi harus menerima suntikan.

Memahami Mekanisme Suntikan

Mekanisme DI dalam Angular 2 beroperasi pada pokok penyuntik dipautkan dalam struktur hierarki. Penyuntik ini dipetakan pada pepohon komponen, tetapi tiada penyuntik khusus untuk perkhidmatan.

Apabila perkhidmatan dianotasi dengan @Injectable, Angular cuba untuk mencipta atau mengambil contoh untuk jenis perkhidmatan tersebut dalam penyuntik untuk semasa rantai pelaksanaan.

Contoh: Suntikan Perkhidmatan Rantai

Pertimbangkan contoh aplikasi berikut:

  • AppComponent (komponen utama)
  • ChildComponent (subkomponen)
  • Service1 (digunakan oleh ChildComponent)
  • Perkhidmatan2 (digunakan oleh Perkhidmatan1)

Setiap perkhidmatan dan komponen dianotasi dengan @Injectable.

Hierarki Penyuntik dan Suntikan Perkhidmatan

Dalam aplikasi ini, kami mempunyai tiga penyuntik:

  • Penyuntik aplikasi (dikonfigurasikan semasa bootstrapping)
  • AppComponent penyuntik (dikonfigurasi melalui atribut pembekalnya)
  • ChildComponent penyuntik (dikonfigurasikan serupa)

Apabila menyuntik Service1 ke dalam ChildComponent, Angular mencari pembekal Service1 pertama dalam penyuntik ChildComponent, kemudian dalam penyuntik AppComponent, dan akhirnya dalam penyuntik aplikasi.

Begitu juga, apabila menyuntik Perkhidmatan2 ke dalam Perkhidmatan1, proses carian yang sama berlaku.

Skop Penyedia dan Hierarki Penyuntik

Ini proses carian menentukan tempat untuk membuat instantiate dan berkongsi contoh perkhidmatan. Pembekal boleh ditentukan pada tahap yang berbeza:

  • Tahap aplikasi: Contoh dikongsi sepanjang aplikasi.
  • Tahap komponen: Contoh dikongsi dalam komponen, subkomponennya dan perkhidmatan bergantung.

Kesimpulan

Dengan memanfaatkan @Penghias boleh suntikan dan memahami mekanisme DI dalam Angular 2, kami boleh menyuntik perkhidmatan antara komponen dan perkhidmatan dengan berkesan, membolehkan kami mengatur dan berkongsi kebergantungan mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Suntikan Ketergantungan Berfungsi Melangkaui Komponen Sudut 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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