Rumah >hujung hadapan web >tutorial js >Bagaimanakah Anda Boleh Menyuntik Perkhidmatan Di Luar Komponen dalam Sudut 2 (Beta)?

Bagaimanakah Anda Boleh Menyuntik Perkhidmatan Di Luar Komponen dalam Sudut 2 (Beta)?

Patricia Arquette
Patricia Arquetteasal
2024-11-17 10:26:04996semak imbas

How Can You Inject Services Outside of Components in Angular 2 (Beta)?

Servis Suntikan Di Luar Komponen dalam Sudut 2 (Beta)

Memahami Suntikan Melebihi Komponen

Dalam Sudut 2 (Beta ), suntikan pergantungan membolehkan pembangun menyampaikan perkhidmatan dengan lancar dalam komponen. Walau bagaimanapun, ia selalunya perlu untuk menyuntik perkhidmatan di luar kelas komponen.

Perkhidmatan Menyuntik melalui @Injectable Decorator

Kunci kepada perkhidmatan suntikan di luar komponen terletak pada penggunaan @Penghias suntikan pada kelas perkhidmatan. Penghias ini menandakan bahawa parameter pembina kelas boleh disuntik.

Sistem Suntikan Hierarki

Angular 2 menggunakan sistem penyuntik hierarki yang memetakan kepada pokok komponen. Penyuntik untuk perkhidmatan tidak ditakrifkan dengan jelas; sebaliknya, ia dikaitkan secara tersirat dengan komponen. Pautan hierarki memastikan penyuntik kanak-kanak mempunyai akses kepada pembekal yang ditentukan dalam penyuntik induk.

Aplikasi Contoh dan Hubungan Penyuntik

Pertimbangkan contoh aplikasi berikut dengan AppComponent (komponen utama) , ChildComponent, Service1 (digunakan oleh ChildComponent) dan Service2 (digunakan oleh Perkhidmatan1):

<br>Aplikasi</p>
<pre class="brush:php;toolbar:false"> |

AppComponent

 |

ChildComponent
getData() --- Service1 --- Perkhidmatan2

Aplikasi ini mempunyai tiga penyuntik: aplikasi, AppComponent dan ChildComponent. Suntikan Service1 untuk ChildComponent dan Service2 injection untuk Service1 melibatkan hierarki penyuntik berikut:

  1. ChildComponent Suntikan
  2. AppComponent Suntikan
  3. Application Suntikan

Kebergantungan Dinamik Resolusi

Penuntik menyelesaikan kebergantungan secara dinamik berdasarkan hierarki penyuntik. Pembekal yang hilang dicari secara automatik dalam penyuntik induk, mengalir sehingga penyuntik aplikasi.

Konfigurasi Pembekal di Pelbagai Tahap

Pembekal boleh dikonfigurasikan pada setiap peringkat penyuntik (aplikasi , komponen). Ini membolehkan perkongsian pergantungan yang fleksibel:

  • Pembekal peringkat aplikasi mencipta kejadian yang dikongsi sepanjang aplikasi.
  • Pembekal peringkat komponen mencipta kejadian yang dikongsi dalam pepohon komponen dan perkhidmatan yang terlibat.

Kesimpulan

Dengan menggunakan @Penghias boleh suntikan dan memahami hierarki penyuntik, pembangun boleh menyuntik perkhidmatan di luar komponen dengan berkesan dalam Angular 2 (Beta), membolehkan pengurusan pergantungan dan organisasi kod yang lebih cekap.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menyuntik Perkhidmatan Di Luar Komponen dalam Sudut 2 (Beta)?. 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