2016-02-17 46 views
4

我用下面的指令有一個簡單的Ionic2組件:測試ionic2組件:無提供形式

@View({ 
    templateUrl: 'build/components/checkinDateInput/checkinDateInput.html', 
    directives: [ FocusDirective, Item, Label, TextInput ], 
}) 

當測試這個,我得到一個錯誤:No provider for Form! (Item -> Form)

我曾嘗試加入供應商我的規格:

beforeEachProviders(() => [Form]); 

然而,Form是私人的離子,因此我似乎不能夠導入(ionic-framework/util/form.d.ts):

/** 
* @private 
*/ 
export declare class Form { 
    private _blur; 
... 

error TS2305: Module '".../node_modules/ionic-framework/ionic"' has no exported member 'Form'.

,因爲它不能進口,我不能嘲笑它在beforeEachProviders,因爲Form將是不確定的。

beforeEachProviders(() => [ 
    provide(Form, {useClass: MockForm}) 
]); 

我應該能夠導入Form或我要對這個錯誤的方式?

+1

黑客繞了一個小時後,我可以使這項工作的唯一途徑是通過離子出口的形式(如覆蓋的事實,他們使它私人)..顯然這是不是要走的路,我會提出這與伊尼克和看看他們推薦。 – lathonez

+1

提出:https://github.com/driftyco/ionic/issues/5494 – lathonez

回答