[英]Using ngControl caused error: No provider for ControlContainer
我正在嘗試在我的應用中第一次使用ngControl:
<md-input placeholder="Amount" value="0" ngControl="ammount" required></md-input>
在我的組件中添加了以下內容:
import { FORM_PROVIDERS,FORM_DIRECTIVES } from '@angular/common';
..
directives: [MD_INPUT_DIRECTIVES,
FORM_DIRECTIVES,
],
providers: [FORM_PROVIDERS],
我收到此錯誤:
browser_adapter.ts:78 EXCEPTION: Error: Uncaught (in promise): Template parse errors:
No provider for ControlContainer ("
[ERROR ->]<md-input placeholder="Amount" value="0" ngControl="ammount" required></md-input>
我錯過了什么?
我認為你忘了將md-input
組件包裝在form
標簽中,否則ngControl
將無法工作:
<form>
...
<md-input placeholder="Amount" value="0" ngControl="ammount" required></md-input>
...
</form>
該指令只能用作NgForm或NgFormModel的子代。
要解決這個問題,您有兩個選擇:A.在main.ts中:
import {FORM_PROVIDERS} from 'angular2/common';
// other code here
bootstrap(AppCmp, [
ROUTER_PROVIDERS,
provide(LocationStrategy, { useClass: HashLocationStrategy }),
FORM_PROVIDERS
]);
B.在使用表單的組件中:
import {FORM_PROVIDERS, FORM_DIRECTIVES} from 'angular2/common';
@Component({
providers: [FORM_PROVIDERS],
directives: [FORM_DIRECTIVES]
})
從github上的這些相同問題中獲取
可以幫到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.