Angular adalah kerangka kerja JavaScript front-end populer yang menyediakan cara ampuh untuk membangun aplikasi satu halaman (SPA). Di Angular, Dependency Injection (DI) adalah fitur utama yang memungkinkan kami mengelola dependensi secara efisien dalam aplikasi kami. Sistem injeksi dependensi Angular menggunakan InjectionTokens untuk menerapkan persyaratan injeksi dependensi khusus tertentu. Pada artikel ini, saya akan menjelaskan secara rinci apa yang dilakukan InjectionToken dan memberikan contoh untuk menggambarkan penggunaan praktisnya dalam aplikasi Angular.
Apa itu injeksi ketergantungan?
Sebelum terjun ke InjectionToken, mari kita pahami terlebih dahulu apa itu injeksi dependensi. Injeksi dependensi adalah pola desain yang memungkinkan kita untuk menyuntikkan dependensi satu objek (misalnya, layanan atau konfigurasi) ke objek lain tanpa hardcoding dependensi tersebut. Manfaat dari ini meliputi:
1. Pemeliharaan: Dengan menyuntikkan dependensi ke dalam komponen, kita dapat dengan mudah mengubah dependensi ini tanpa harus memodifikasi kode yang ekstensif. 2. Pengujian: Kami dapat dengan mudah memberikan dependensi simulasi untuk komponen untuk pengujian unit tanpa benar-benar membuat instance dependensi tersebut. 3. Kopling Longgar: Injeksi ketergantungan membantu kita mencapai kopling longgar, membuat hubungan antara masing-masing komponen lebih fleksibel.
Di Angular, injeksi dependensi bersifat bawaan, dan kontainer injeksi dependensi Angular bertanggung jawab untuk mengelola pembuatan dan siklus hidup dependensi.
Mengapa Anda membutuhkan InjectionToken?
Terkadang kita perlu menyuntikkan dependensiBukan instance kelas, tetapi item konfigurasi, string, atau nilai non-class lainnya。 Di sinilah InjectionToken masuk, memungkinkan kita untuk menyuntikkan nilai non-kelas ke dalam komponen atau layanan sebagai dependensi.
Apa yang dilakukan InjectionToken?
Peran InjectionToken adalah untuk menentukan pengidentifikasi yang mengidentifikasi dependensi. Ini memungkinkan kita untuk menyuntikkan nilai apa pun ke dalam komponen atau layanan Angular, bukan hanya instance kelas. Biasanya, kita membuat InjectionToken di suatu tempat di aplikasi dan menggunakannya di mana kita perlu menyuntikkan nilai tersebut.
Berikut adalah fungsi utama InjectionToken:
1. Identifikasi Unik: InjectionToken adalah pengidentifikasi unik yang memastikan keunikan dependensi. Ini penting untuk mencegah kebingungan atau konflik dalam dependensi. 2. Injeksi Dependensi Non-Kelas: InjectionToken memungkinkan kita untuk menyuntikkan nilai apa pun, bukan hanya instans kelas. Ini berguna dalam skenario seperti konfigurasi, konstanta, string, dll. 3. Konfigurasi penyedia: Melalui konfigurasi penyedia, kita dapat memberi tahu Angular cara menyediakan instance dependensi untuk InjectionToken. Hal ini memungkinkan kami untuk memberikan nilai yang berbeda untuk InjectionTokens dalam konteks yang berbeda.
Sekarang, mari kita merinci penggunaan dan peran InjectionToken dengan beberapa contoh.
Menyuntikkan konfigurasi aplikasi
Misalnya, kami menyuntikkan konfigurasi aplikasi dengan alamat URL dan nama lingkungan, dan kodenya adalah sebagai berikut:
Dari injeksi konstruktor, cetakannya adalah sebagai berikut:
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat. |