這是一個基本的TypeScript / ES.next示例,該示例使用裝飾符進行DI并遵循框架手冊建議的語法:import {Component, Inject, Injectable, NgModule, OpaqueToken} from '@angular/core';import {BrowserModule} from '@angular/platform-browser';import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';const CONSTANT = { value: 'constant' };const CONSTANT_TOKEN = new OpaqueToken;const CONSTANT_PROVIDER = { provide: CONSTANT_TOKEN, useValue: CONSTANT };@Injectable()class Service { constructor(@Inject(CONSTANT_TOKEN) constant) { console.log('Service constructor', constant); }}@Component({ selector: 'app', template: '...', providers: [Service, CONSTANT_PROVIDER]})class AppComponent { constructor(@Inject(Service) service: Service, @Inject(CONSTANT_TOKEN) constant) { console.log('AppComponent constructor', service, constant); }}@NgModule({ imports: [BrowserModule], declarations: [AppComponent], bootstrap: [AppComponent]})class AppModule {}platformBrowserDynamic().bootstrapModule(AppModule);如何用ES5編寫?如何將同樣的事情在做untranspiled ES6 / ES2015?在這種情況下Injectable,Inject裝飾器如何翻譯?該問題尤其適用于具有類但可以使用require或System.import代替ES6導(dǎo)入的具有類的真實ES6瀏覽器實現(xiàn)。
- 3 回答
- 0 關(guān)注
- 622 瀏覽
添加回答
舉報
0/150
提交
取消