Token Injeksi
Injeksi nilai non-kelas dengan token.
Token Injeksi adalah pelajaran Angular Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Angular Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Angular Academy mencakup 4 pelajaran total.
Token Injeksi
Tidak semua dependensi berupa kelas. Untuk menginjeksikan nilai seperti objek konfigurasi, string, atau interface, Anda menggunakan InjectionToken sebagai kunci unik.
Mengapa Menggunakan Token
Kelas dapat digunakan langsung sebagai kunci DI, tetapi interface dan nilai primitif tidak dapat digunakan (interface menghilang saat runtime). InjectionToken menyediakan kunci yang stabil dan memiliki tipe untuk kasus-kasus ini.
Membuat Token
Buat token dengan new InjectionToken<T>, lalu berikan deskripsi yang mudah dipahami manusia.
import { InjectionToken } from '@angular/core';
export const API_URL = new InjectionToken<string>('API_URL');Parameter Tipe
Parameter tipe generik (dalam contoh ini string) memberikan tipe pada token, sehingga nilai yang diinjeksikan memiliki tipe yang benar.
Menyediakan Nilai Token
Daftarkan token dengan sebuah nilai menggunakan useValue dalam array providers.
// bootstrapApplication(AppComponent, {
// providers: [{ provide: API_URL, useValue: 'https://api.example.com' }]
// });Menginjeksikan Token
Injeksikan token dengan fungsi inject untuk mendapatkan nilainya.
import { inject } from '@angular/core';
import { API_URL } from './tokens';
export class Api {
private baseUrl = inject(API_URL);
}Token untuk Konfigurasi
Salah satu penggunaan umum adalah konfigurasi aplikasi: tentukan interface, buat token dengan tipe tersebut, lalu sediakan objek konfigurasi.
export interface AppConfig { title: string; retries: number; }
export const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');Menyediakan Konfigurasi
Kemudian sediakan nilai konfigurasi saat bootstrap.
// providers: [{ provide: APP_CONFIG, useValue: { title: 'My App', retries: 3 } }]Nilai Bawaan dari Pabrik
Token dapat menyediakan nilai bawaan melalui pabrik dalam opsinya, sehingga tetap berfungsi meskipun tidak ada penyedia eksplisit.
export const RETRIES = new InjectionToken<number>('RETRIES', {
providedIn: 'root',
factory: () => 3
});Token vs Kelas
Gunakan kelas sebagai kunci ketika dependensinya berupa kelas layanan. Gunakan InjectionToken saat menginjeksikan nilai non-kelas: konfigurasi, nilai primitif, atau objek bertipe interface.
Menghindari String Ajaib
InjectionToken menggantikan kunci string yang rentan dengan pengenal bertipe yang bebas benturan, sehingga kesalahan dapat ditemukan saat kompilasi.
Pemeriksaan Cepat: Token
Menginjeksikan nilai non-kelas.
Ringkasan: Token Injeksi
Anda telah mempelajari bahwa InjectionToken menyediakan kunci bertipe untuk menginjeksikan nilai non-kelas seperti objek konfigurasi, string, dan data bertipe interface. Buat token dengan new InjectionToken, sediakan dengan useValue atau nilai bawaan dari pabrik, lalu injeksikan dengan inject(). Anda telah menyelesaikan kursus Injeksi Dependensi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Token Injeksi” gratis?
Ya — teks lengkap “Token Injeksi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Angular Academy, upgrade ke CoddyKit PRO. Kursus Angular Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Token Injeksi”?
Injeksi nilai non-kelas dengan token. Kamu berlatih Angular Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Angular Academy?
Tidak diperlukan pengalaman sebelumnya. Angular Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Token Injeksi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Angular Academy ini?
Ya. Setiap pelajaran Angular Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.