Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 4, No provider for NgForm [duplicate]

Tags:

angular

I have a bounch of components that are using ReactiveForms, but when i try to access them, i'm getting "No provider for NgForm".

The weird thing is this is not happening when running "ng serve" and it's just happening when running "ng serve --aot" or even when i deploy with "ng build --prod"

Anyone has an idea what it's going on here?

This is the full backtrace

core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: No provider for NgForm! Error: No provider for NgForm! at injectionError (core.es5.js:1169) at noProviderError (core.es5.js:1207) at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.throwOrNull (core.es5.js:2649) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.getByKeyDefault (core.es5.js:2688) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.getByKey (core.es5.js:2620) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489) at resolveNgModuleDep (core.es5.js:9489) at NgModuleRef_.webpackJsonp.../../../core/@angular/core.es5.js.NgModuleRef_.get (core.es5.js:10577) at resolveDep (core.es5.js:11080) at createProviderInstance (core.es5.js:10909) at injectionError (core.es5.js:1169) at noProviderError (core.es5.js:1207) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.throwOrNull (core.es5.js:2649) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.getByKeyDefault (core.es5.js:2688) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.getByKey (core.es5.js:2620) at ReflectiveInjector.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489) at resolveNgModuleDep (core.es5.js:9489) at NgModuleRef_.webpackJsonp.../../../core/@angular/core.es5.js.NgModuleRef_.get (core.es5.js:10577) at resolveDep (core.es5.js:11080) at _createProviderInstance (core.es5.js:10909) at resolvePromise (zone.js:795) at resolvePromise (zone.js:766) at zone.js:844 at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:425) at Object.onInvokeTask (core.es5.js:3881) at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424) at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (zone.js:192) at drainMicroTaskQueue (zone.js:602) at ZoneTask.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:503) at invokeTask (zone.js:1427)

like image 548
Lucas Juarez Avatar asked Sep 19 '17 21:09

Lucas Juarez


1 Answers

I'd double check that you're importing the ReactiveFormsModule in the correct module for the components that use the reactive form. I often run into this same type of problem with observable operators that are imported in one component, but not in another component that uses that operator. The app will run with ng serve, but not ng build/aot.

like image 115
jloosli Avatar answered Oct 04 '22 02:10

jloosli