Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya Boleh Bootstrap Apl Sudut 2 dengan Parameter Bahagian Belakang?

Bagaimanakah saya Boleh Bootstrap Apl Sudut 2 dengan Parameter Bahagian Belakang?

Patricia Arquette
Lepaskan: 2024-12-12 13:48:10
asal
208 orang telah melayarinya

How Can I Bootstrap an Angular 2 App with Backend Parameters?

Bootstrapping Angular 2 dengan Parameter dari Backend

Apabila memulakan aplikasi Angular 2, menyediakan parameter yang diperlukan untuk konfigurasi adalah penting. Dalam senario di mana parameter ini dijana pada bahagian belakang, terdapat keperluan untuk menghantarnya semasa proses bootstrapping.

Menyuntik Pengepala ke dalam BaseRequestOptions

Untuk menetapkan pengepala HTTP untuk semua permintaan, anda boleh menggunakan Angular's mekanisme suntikan pergantungan. Dalam main.ts, pendekatan berikut boleh digunakan:

import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component.ts';

const headers = ... // Retrieve headers from the backend

bootstrap(AppComponent, [{ provide: 'headers', useValue: headers }]);
Salin selepas log masuk

Dalam komponen atau perkhidmatan anda, anda boleh menyuntik pengepala ini menggunakan:

class SomeComponentOrService {
   constructor(@Inject('headers') private headers) { }
}
Salin selepas log masuk

Menyediakan Custom BaseRequestOptions

Sebagai alternatif, anda boleh menyediakan subkelas tersuai bagi BaseRequestOptions yang merangkumi yang diperlukan pengepala:

class MyRequestOptions extends BaseRequestOptions {
  constructor (private headers) {
    super();
  }
}

const values = ... // Get headers from the backend
const headers = new MyRequestOptions(values);

bootstrap(AppComponent, [{ provide: BaseRequestOptions, useValue: headers }]);
Salin selepas log masuk

Pertimbangan Lain

Kebergantungan Kitaran:

Menyuntik kebergantungan yang diperlukan kadangkala boleh membawa kepada kebergantungan kitaran. Untuk menyelesaikan masalah ini, anda boleh menyuntik Injector dan mendapatkan semula kebergantungan melaluinya:

constructor(injector: Injector) {
  this.myDep = injector.get(MyDependency);
}
Salin selepas log masuk

Lazy Initialization dengan APP_INITIALIZER:

Untuk senario di mana kebergantungan anda memerlukan permulaan tambahan sebelum aplikasi bermula, anda boleh menggunakan pembekal APP_INITIALIZER. Ia menangguhkan pemulaan dan bootstrapping sehingga janji yang dikembalikan oleh fungsi pemula diselesaikan.

Pendekatan Berkaitan:

Pendekatan alternatif ialah menggunakan token CONFIG untuk menghantar data konfigurasi semasa bootstrap. Walau bagaimanapun, kaedah ini tidak sefleksibel seperti kaedah yang diterangkan di atas kerana ia memerlukan konfigurasi untuk hadir dalam kod aplikasi.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Bootstrap Apl Sudut 2 dengan Parameter Bahagian Belakang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan