我有一大堆使用ReactiveForms的组件,但是当我尝试访问它们时,我得到了#N;没有NgForm的提供者"。
奇怪的是,在运行" ng serve"并且它正好在运行时发生 - 服务--aot"甚至当我使用" ng build --prod"
进行部署时任何人都知道它在这里发生了什么?
这是完整的回溯
core.es5.js:1020 ERROR错误:未捕获(在承诺中):错误:没有NgForm的提供者! 错误:没有NgForm的提供者! at injectionError(core.es5.js:1169) 在noProviderError(core.es5.js:1207) 在ReflectiveInjector_.webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 throwOrNull(core.es5.js:2649) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 getByKeyDefault(core.es5.js:2688) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 getByKey(core.es5.js:2620) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector_.get(core.es5.js:2489) at resolveNgModuleDep(core.es5.js:9489) 在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) 在noProviderError(core.es5.js:1207) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 throwOrNull(core.es5.js:2649) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 getByKeyDefault(core.es5.js:2688) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector _。 getByKey(core.es5.js:2620) 在ReflectiveInjector .webpackJsonp ... / .. / .. / core/@angular/core.es5.js.ReflectiveInjector_.get(core.es5.js:2489) at resolveNgModuleDep(core.es5.js:9489) 在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) 在zone.js:844 在ZoneDelegate.webpackJsonp ... / .. / .. / .. / zone.js / dist / zone.js.ZoneDelegate.invokeTask(zone.js:425) at Object.onInvokeTask(core.es5.js:3881) 在ZoneDelegate.webpackJsonp ... / .. / .. / .. / zone.js / dist / zone.js.ZoneDelegate.invokeTask(zone.js:424) 在Zone.webpackJsonp ... / .. / .. / .. / zone.js / dist / zone.js.Zone.runTask(zone.js:192) 在drainMicroTaskQueue(zone.js:602) 在ZoneTask.webpackJsonp ... / .. / .. / .. / zone.js / dist / zone.js.ZoneTask.invokeTask [as invoke](zone.js:503) 在invokeTask(zone.js:1427)
答案 0 :(得分:2)
我会仔细检查您是否在使用反应形式的组件的正确模块中导入ReactiveFormsModule
。我经常遇到与在一个组件中导入的可观察操作符相同类型的问题,但在使用该操作符的另一个组件中则不会。该应用将与ng serve
一起运行,但不会与ng build/aot
一起运行。