Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melewati Parameter Render Belakang kepada Kaedah Bootstrap Angular2?
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 }]);
Pendekatan ini membolehkan anda menyuntik parameter ini ke dalam komponen atau perkhidmatan Sudut anda:
class SomeComponentOrService { constructor(@Inject('headers') private headers) {} }
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 }]);
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) { } }
Nota: Untuk kompilasi AoT, alihkan penutupan kilang ke luar kelas:
function loadContext(context: ContextService) { return () => context.load(); }
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:
this.myDep = injector.get(MyDependency);
Instead of directly injecting `MyDependency`:
@Injectable()
export class ConfigService {
private router:Router;
constructor(/private router:Router/ penyuntik: Penyuntik) {
setTimeout(() => this.router = injector.get(Router));
}
}
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!