typescript Angular 误差类型误差:无法读取未定义的属性(阅读'onDestroy')

ne5o7dgx  于 2022-11-18  发布在  TypeScript
关注(0)|答案(7)|浏览(182)

我有问题。Angular有时显示错误错误类型错误:无法读取未定义的属性(阅读'onDestroy')
我得到这个错误,当我运行ng服务,但如果我使用Angular 通用,然后页面有时加载正常,有时它是显示相同的错误.我发现,这个错误开始时,我开始使我的应用程序模块化.
Angular 型13.3

gorkyyrv

gorkyyrv1#

我遇到了同样的问题。尝试删除.angular目录!对我有效。

hgqdbh6s

hgqdbh6s2#

当我试图在ngSwitchCase中使用组件时,出现了这种情况,ngSwitchCase呈现了其中包含组件的ng-templates。
没有implement ngOnDestroy的组件会给予我这个错误。
简短的回答,尝试将ngOndestroy添加到可能正在动态渲染的组件中?

r3i60tvu

r3i60tvu3#

我找到了解决这个问题的方法,如果你没有完成你的模块化,但是你把部分代码作为模块使用,把部分代码作为组件导入,就会发生这个问题。
app.component.html中使用的未模块化组件与

<router-outlet></router-outlet>

导致此错误。
以我为例

<app-navbar></app-navbar>

什么是有趣的?如果你有这个错误,你添加到navbar fidoe<div></div>,然后删除它应用程序开始正常工作。
解决方案是什么?您必须正确地模块化app.component.html中使用的所有组件。

chhqkbe1

chhqkbe14#

我遇到了同样的问题。在我的例子中,因为我定义了没有任何默认值的模型,并将其绑定到HTML,如myModel.value。因此,因为myModel.value不是值,我得到了这个错误。我将其替换为myModel?.value,并修复了错误

bvuwiixz

bvuwiixz5#

我遇到了同样的问题,这是由一个模块的错误导入引起的。typescript别名包含一个双斜线。类似于lib//module,一旦我们删除了这个,应用程序又能工作了。

hfsqlsce

hfsqlsce6#

我解决了我的问题,更新我的A13到A14。

vktxenjb

vktxenjb7#

我们在生产中遇到了这个问题。结果发现这个问题是在我们的git仓库中。由于一些对master分支的挤压提交,它似乎被搞砸了。
通过在Azure DevOps管道中启用“清理”选项和清理选项“源代码”,在顶部的“获取源代码”下(经典管道),修复了此问题。

相关问题