将 Angular 更新到版本 10 后,我看到此控制台错误。
错误类型错误:无法读取 null 的属性“firstCreatePass”
更新之前不存在。 当使用自定义组件加载视图时会显示它。
可能缺少什么?
原来是因为我也更新了 ngx-custom-validators 包。
但是想要的 ngx-custom-validators 版本是 8.0.0。 更改版本后就可以了。
https://github.com/rsaenen/ngx-custom-validators/issues/39#issuecomment-654024141
升级到 Angular 11 时,我遇到了同样的错误。我们动态加载模块并使用自定义元素(更多详细信息:https://angular.io/guide/elements)。
就我而言,我不必覆盖服务器上的文件,只需首先删除所有旧文件,然后上传更新的文件,这解决了我的问题。
对我来说,发生这种情况是因为我在两个 package.json 中使用了稍微不兼容的库。
我正在使用 ckeditor 库,但我的一个项目正在使用 NPM 包“ng2-ckeditor”,另一个项目正在使用 NPM 包“ckeditor4-angular”。它们足够接近,以至于 Angular 没有给出错误 ckeditor 不是已知元素,因为它们都有一个具有该名称的组件......但它们的内部结构非常不同。
当我确保两个 package.json 使用相同的 NPM 包时,错误消失了。
当我尝试在 Angular 应用程序中使用 Angular 库中的组件时收到错误。事实证明,我在我的库和应用程序中使用了不同版本的
@angular/cdk
和 @angular/material
。
我必须更新我的应用程序,以便这些软件包的版本完全匹配(甚至是补丁版本)
之前
我的库中的版本:
@angular/cdk
:15.0.4@angular/material
:15.0.4我的应用程序中的版本
@angular/cdk
:15.0.0@angular/material
:15.0.0之后
我的库中的版本:
@angular/cdk
:15.0.4@angular/material
:15.0.4我的应用程序中的版本
@angular/cdk
:15.0.4@angular/material
:15.0.4我收到了相同的错误消息,因为我有一个库符号链接,并且我没有打开 “preserveSymlinks” 中的 .json 选项。在这里找到答案如何通过热重载在本地使用角度库? [错误:无法读取 null 的属性(读取“firstCreatePass”)]
您必须将
"preserveSymlinks": true
中的变量 angular.json
放入应用程序的构建选项中。