2016-09-18 62 views
2

我是Ionic2和Angular的新手。在類中聲明一個變量作爲構造函數的輸入是什麼?類構造函數在TypeScript Ionic 2中輸入的內容是什麼?

import { LoadingController } from 'ionic-angular'; 

export class MyPage { 
    constructor(public loadingCtrl: LoadingController <-----) { 
    } 

    presentLoading() { 
    let loader = this.loadingCtrl.create({ 
     content: "Please wait...", 
     duration: 3000 
    }); 
    loader.present(); 
    } 
} 

回答

3

什麼變量聲明爲一個構造函數輸入

構造函數的參數是一樣的方法或函數參數,允許傳遞參數

let page = new MyPage(aLoadingController) 

,只是你不知道你自己創建MyPage實例,但Angular2的依賴注入(DI)爲你做。

如果DI找到與參數類型(或@Inject(xxx))註釋(如果存在)相匹配的提供者),然後將由找到的提供者創建的實例傳遞給new MyPage(...)調用,DI會查找註冊表。

對於這個工作Angular2需要像@Page()@Component()@Directive()@Pipe()@Injectable()在類裝飾。如果它發現這樣一個裝飾器,它會分析構造器參數列表以知道需要注入什麼。

如果publicprivate被前置到構造函數的參數,然後又一個實例級別的屬性被創建並自動分配給該屬性傳入的值(純打字稿功能)

+0

Thanks!所以看起來Angular2在尋找提供商的背景中做了很多事情。 –

+0

DI是這樣做的角度部分,其餘部分是DOM渲染和更改檢測以及其他內容 –

相關問題