Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Melewati Parameter Render Belakang kepada Kaedah Bootstrap Angular2?

Bagaimanakah Saya Boleh Melewati Parameter Render Belakang kepada Kaedah Bootstrap Angular2?

Barbara Streisand
Lepaskan: 2024-12-11 02:03:14
asal
983 orang telah melayarinya

How Can I Pass Backend-Rendered Parameters to the Angular2 Bootstrap Method?

Meluluskan Parameter Render Belakang ke Kaedah Bootstrap Angular2

Untuk menghantar hujah yang diberikan pada bahagian belakang kepada kaedah bootstrap Angular2, manfaatkan suntikan kebergantungan Angular keupayaan. Begini cara untuk mencapainya:

var headers = ... // Retrieve headers from the server

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

Pendekatan ini membolehkan anda menyuntik parameter ini ke dalam komponen atau perkhidmatan Sudut anda:

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

Sebagai alternatif, anda boleh terus menyediakan BaseRequestOptions yang disediakan seperti berikut:

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

var values = ... // Fetch headers from the server
var headers = new MyRequestOptions(values);

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

Dengan kaedah ini, anda boleh menggunakan pengepala ini dalam aplikasi Angular anda dengan menyuntik BaseRequestOptions terus:

class ConfigService {
  constructor(private http: Http, @Inject(BaseRequestOptions) private baseRequestOptions) { }
}
Salin selepas log masuk

Nota: Untuk kompilasi AoT, alihkan penutupan kilang ke luar kelas:

function loadContext(context: ContextService) {
  return () => context.load();
}
Salin selepas log masuk

Dan dalam NgModul:

@NgModule({
  ...
  providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: loadContext, deps: [ContextService], multi: true } ],
For cyclic dependency issues, inject the Injector and retrieve the dependency:
Salin selepas log masuk

this.myDep = injector.get(MyDependency);

Instead of directly injecting `MyDependency`:
Salin selepas log masuk

@Injectable()
export class ConfigService {
private router:Router;
constructor(/private router:Router/ penyuntik: Penyuntik) {

setTimeout(() => this.router = injector.get(Router));
Salin selepas log masuk

}
}

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melewati Parameter Render Belakang kepada Kaedah Bootstrap Angular2?. 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