Ann*_*ika 6 web-component custom-element svelte
CustomElement.svelte
<svelte:options tag="custom-element" />
<script>
import { onMount, onDestroy } from "svelte";
onMount(() => {
window.addEventListener("scroll", funcRef);
});
onDestroy(() => {
window.removeEventListener("scroll", funcRef);
});
const funcRef = (event) => {
doWhatever();
}
</script>
Run Code Online (Sandbox Code Playgroud)
实际上,当自定义元素从文档中删除时,应该删除事件处理程序,但事实并非如此。我缺少什么?
您提供的代码将正常工作,并且当组件被销毁时它会自动删除事件侦听器,但这里有一个更好的版本
<svelte:options tag="custom-element" />
<script>
import { onMount} from "svelte";
onMount(() => {
const funcRef = (event) => {
doWhatever();
}
window.addEventListener("scroll", funcRef);
return ()=>{
// this function is called when the component is destroyed
window.removeEventListener("scroll", funcRef);
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2573 次 |
最近记录: |