gpt4 book ai didi

angular - 有什么特别的?类型 'Node' 无法转换为类型 'ChildNode'

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:35 24 4
gpt4 key购买 nike

我有这个:

const node = window.getSelection().getRangeAt(0).startContainer;
(node as ChildNode).replaceWith(...nodes)

以上在构建时抛出一个错误:

Type 'Node' cannot be converted to type 'ChildNode'

Property 'remove' is missing in type 'Node'

但是如果我:

(node as any).replaceWith(...nodes)

它编译得很好。谁能解释一下?

编辑:

来自 ritaj 的回答被点赞没有解决我的问题

最佳答案

做一个类型保护:

function isChildNode(node: Node): node is ChildNode {
// Might want some other property checks as well
return 'replaceWith' in node;
}

并保护类型:

const node: Node = window.getSelection().getRangeAt(0).startContainer;

if (isChildNode(node)) {
node.replaceWith();
}

关于angular - 有什么特别的?类型 'Node' 无法转换为类型 'ChildNode',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com