【发布时间】:2021-12-12 15:35:22
【问题描述】:
我使用 svelte 创建了一个自定义元素:
<svelte:options tag="my-component" />
<script>
export let name;
</script>
<div>Hello {name}</div>
当我在 HTML 中初始化它时有效:
<my-component name="Jane"></my-component>
屏幕上的输出是“Hello Jane”。
当我尝试从控制台更新名称时,它不起作用:
var mc = document.querySelector('my-component');
mc.setAttribute('name', 'John');
输出仍然是“Hello Jane”。
为什么它不起作用?
【问题讨论】:
-
刚刚尝试在新的 Svelte Project 版本 3.44.0 中重现,但在 .html 内部和控制台中工作时找不到代码问题
-
使用上面的代码?还是你添加了什么?
-
完全使用了上面的代码。除了 .setAttribute() ,名称也可以通过 mc.name = 'otherName' 来更改
-
Hmm.. 那么这可能是我在 chrome 扩展中运行自定义元素的问题。我将调查并发布一个新问题。谢谢!
标签: svelte custom-element