Rumah >hujung hadapan web >tutorial js >Bagaimanakah Anda Boleh Menyuntik Perkhidmatan 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:
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:
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!