最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

angular 7 TypeError:无法读取未定义的属性'hasOwnProperty'

IT培训 admin 3浏览 0评论

angular 7 TypeError:无法读取未定义的属性'hasOwnProperty'

是的,SO上有几十个类似的问题,这就是问题所在。他们都是如此通用,以至于无益。我理解这个错误意味着什么,但希望有人可以帮我找到它的“为什么”。

我有一个使用CLI生成的Angular 7应用程序,并在加载其中一个模块时遇到此错误。无论模块是同步加载还是懒惰加载,都会发生这种情况。

明显的根本原因是无法解析模块依赖性。事实上,我已经逐步完成了@ angular / core中的模块依赖解析代码(很有趣,我会告诉你),并发现在失败时,用于解决模块依赖的注入令牌就像是“undefined_348”,而不是“Router_43”或类似内容。

未定义的令牌发生在与我写的服务相对应的其他令牌附近,所以我很确定我做错了什么,或者没做过我应该做的事情。但是,我有另一个模块注入相同的依赖项,并正确加载。我希望有人在相同的上下文中看到这个错误,并且可以提供关于如何找到任性依赖的线索。

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 
'hasOwnProperty' of undefined
TypeError: Cannot read property 'hasOwnProperty' of undefined
at getInjectableDef (core.js:120)
at resolveNgModuleDep (core.js:19748)
at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:20452)
at injectInjectorOnly (core.js:1173)
at inject (core.js:1178)
at injectArgs (core.js:1230)
at core.js:14376
at _callFactory (core.js:19825)
at _createProviderInstance (core.js:19783)
at resolveNgModuleDep (core.js:19758)
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at zone.js:873
. . .

顺便说一下,如果它最终生成一个像这样的“未定义”注入令牌,那么@ angular / core似乎应该更早失败,所以我对任何可能有帮助的上游解决方案持开放态度。

Angular CLI: 7.0.6
Node: 8.11.3
OS: linux x64
Angular: 7.1.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.10.6
@angular-devkit/build-angular     0.10.6
@angular-devkit/build-optimizer   0.10.6
@angular-devkit/build-webpack     0.10.6
@angular-devkit/core              7.0.6
@angular-devkit/schematics        7.0.6
@angular/cli                      7.0.6
@ngtools/webpack                  7.0.6
@schematics/angular               7.0.6
@schematics/update                0.10.6
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.19.1
回答如下:

将所有服务放在app.module.ts的providers数组中,我的问题不是将LocalStorageService放在提供程序中

angular 7 TypeError:无法读取未定义的属性'hasOwnProperty'

是的,SO上有几十个类似的问题,这就是问题所在。他们都是如此通用,以至于无益。我理解这个错误意味着什么,但希望有人可以帮我找到它的“为什么”。

我有一个使用CLI生成的Angular 7应用程序,并在加载其中一个模块时遇到此错误。无论模块是同步加载还是懒惰加载,都会发生这种情况。

明显的根本原因是无法解析模块依赖性。事实上,我已经逐步完成了@ angular / core中的模块依赖解析代码(很有趣,我会告诉你),并发现在失败时,用于解决模块依赖的注入令牌就像是“undefined_348”,而不是“Router_43”或类似内容。

未定义的令牌发生在与我写的服务相对应的其他令牌附近,所以我很确定我做错了什么,或者没做过我应该做的事情。但是,我有另一个模块注入相同的依赖项,并正确加载。我希望有人在相同的上下文中看到这个错误,并且可以提供关于如何找到任性依赖的线索。

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 
'hasOwnProperty' of undefined
TypeError: Cannot read property 'hasOwnProperty' of undefined
at getInjectableDef (core.js:120)
at resolveNgModuleDep (core.js:19748)
at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:20452)
at injectInjectorOnly (core.js:1173)
at inject (core.js:1178)
at injectArgs (core.js:1230)
at core.js:14376
at _callFactory (core.js:19825)
at _createProviderInstance (core.js:19783)
at resolveNgModuleDep (core.js:19758)
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at zone.js:873
. . .

顺便说一下,如果它最终生成一个像这样的“未定义”注入令牌,那么@ angular / core似乎应该更早失败,所以我对任何可能有帮助的上游解决方案持开放态度。

Angular CLI: 7.0.6
Node: 8.11.3
OS: linux x64
Angular: 7.1.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.10.6
@angular-devkit/build-angular     0.10.6
@angular-devkit/build-optimizer   0.10.6
@angular-devkit/build-webpack     0.10.6
@angular-devkit/core              7.0.6
@angular-devkit/schematics        7.0.6
@angular/cli                      7.0.6
@ngtools/webpack                  7.0.6
@schematics/angular               7.0.6
@schematics/update                0.10.6
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.19.1
回答如下:

将所有服务放在app.module.ts的providers数组中,我的问题不是将LocalStorageService放在提供程序中

发布评论

评论列表 (0)

  1. 暂无评论