I'm trying to use ngControl for the first time in my app:
<md-input placeholder="Amount" value="0" ngControl="ammount" required></md-input>
Added the following in my component:
import { FORM_PROVIDERS,FORM_DIRECTIVES } from '@angular/common';
..
directives: [MD_INPUT_DIRECTIVES,
FORM_DIRECTIVES,
],
providers: [FORM_PROVIDERS],
and I get this error:
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>
What am I missing?
I think that you forgot to wrap the md-input
component in form
tag, otherwise ngControl
won't work:
<form>
...
<md-input placeholder="Amount" value="0" ngControl="ammount" required></md-input>
...
</form>
This directive can only be used as a child of NgForm or NgFormModel.
To fix that, you have 2 options: A. in main.ts:
import {FORM_PROVIDERS} from 'angular2/common';
// other code here
bootstrap(AppCmp, [
ROUTER_PROVIDERS,
provide(LocationStrategy, { useClass: HashLocationStrategy }),
FORM_PROVIDERS
]);
B. in your component that uses the form:
import {FORM_PROVIDERS, FORM_DIRECTIVES} from 'angular2/common';
@Component({
providers: [FORM_PROVIDERS],
directives: [FORM_DIRECTIVES]
})
Taken from these same issues on github
https://github.com/mgechev/angular2-seed/issues/399
https://github.com/angular/angular/issues/6374
May help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With