更新到最新打字稿版本时,lib.dom.d.ts文件中缺少属性的问题

时间:2019-03-29 13:55:48

标签: angular typescript

我已根据here的官方升级手册将Angular项目升级到最新版本。当我在项目文件夹中运行“ ng serve”时,出现错误

"ERROR in src/app/menu/menu-tree.component.ts(93,63): error TS2339: Property 'localName' does not exist on type 'Node'.

我在lib.dom.d.ts中找到了节点类型的定义(完整路径:C:\ Users \ my_user \ AppData \ Local \ Programs \ Microsoft VS Code \ resources \ app \ extensions \ node_modules \ typescript \ lib \ lib.dom.d.ts)。

这是受影响的代码:

if ( mutation.type === 'childList' && mutation.target.localName === 'span' &&
          mutation.addedNodes.length > 0 && mutation.removedNodes.length === 0) {

lib.dom.d.ts中MutationRecord接口中属性“ target”的定义:

readonly target: Node;

1 个答案:

答案 0 :(得分:1)

为什么不使用mutation.target.nodeName.toLowerCase() === 'span'