<div class="teleport_anchor" ref="tpEl"></div>
<Teleport to=".teleport_anchor"/>
let tpEl = ref(null);
onMounted(() => {
watch(
() => tpEl.value.childNodes.length,
(len) => {
console.log(len);
}
);
});
上面的代码没用
需求:
当.teleport_anchor
无内容时隐藏(Teleport
要求必须有.teleport_anchor
节点,不能用v-if
)
.teleport_anchor
有一些样式,比如阴影,但没有内容时很突兀,请问怎样监听子元素的变化呢?
ps.我知道可以用一个变量来实现,但有好几个地方都填充到这里,改起来很麻烦
可以用 MutationObserver 来实现,它的作用就是监听对 DOM 树的修改,而且它是浏览器的内置的 API。这里有一段我以前写的代码可以参考,但是它是用来监听
data-theme
属性变化的,且每当发生变化就把data-color-mode
设为同样的值: