是什么导致错误 "Failed to set the 'currentNode' property on 'TreeWalker'"?
What causes the error "Failed to set the 'currentNode' property on 'TreeWalker'"?
在使用 Lit-Element 和 Typescript 构建 WebComponent 时,我收到了这个相当神秘的错误消息。
当我尝试将 checked
属性设置为元素时出现错误。
罪魁祸首与此类似:
return html`<input type="radio" ${(testValue==0 ? "checked":"")}>`
错误信息是
TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'.
经过一番研究,我终于明白了问题所在。
我在想我可以将模板字符串基本上视为一种模板语言。不要将其视为命令 ('print this, print that'),而应将其视为要由函数解释的描述。当然你需要了解解释器功能。
在我的例子中,我试图有条件地渲染 属性。也就是说,如果满足条件,就打印这个,如果不满足,什么都不打印。
文档非常清楚地说明了这个问题:https://lit-html.polymer-project.org/guide/writing-templates#bind-to-attributes
我的解决方案是:
return html`<input type="radio" ?checked=${(testValue==0)}>`
在使用 Lit-Element 和 Typescript 构建 WebComponent 时,我收到了这个相当神秘的错误消息。
当我尝试将 checked
属性设置为元素时出现错误。
罪魁祸首与此类似:
return html`<input type="radio" ${(testValue==0 ? "checked":"")}>`
错误信息是
TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'.
经过一番研究,我终于明白了问题所在。 我在想我可以将模板字符串基本上视为一种模板语言。不要将其视为命令 ('print this, print that'),而应将其视为要由函数解释的描述。当然你需要了解解释器功能。
在我的例子中,我试图有条件地渲染 属性。也就是说,如果满足条件,就打印这个,如果不满足,什么都不打印。
文档非常清楚地说明了这个问题:https://lit-html.polymer-project.org/guide/writing-templates#bind-to-attributes
我的解决方案是:
return html`<input type="radio" ?checked=${(testValue==0)}>`