2016-02-17 47 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

回答