Svelte onDestroy
要在组件被销毁时运行代码,请使用 onDestroy。例如,我们可以在组件初始化时添加一个 setInterval 函数,并在它不再使用时将其清除。这样做可以防止内存泄漏。<script>
import { onDestroy } from 'svelte';
let seconds = 0;const interval = setInterval(() => seconds += 1, 1000);
onDestroy(() => clearInterval(interval));
</script>虽然在组件初始化期间调用生命周期函数很重要,但从哪里调用它们并不重要。因此,如果我们愿意,我们可以将间隔逻辑抽象为 utils.js 中的辅助函数......import { onDestroy } from 'svelte';
export function onInterval(callback, milliseconds) {
const interval = setInterval(callback, milliseconds);
onDestroy(() => { clearInterval(interval);
});
}...并将其导入到我们的组件中:<script>
import { onInterval } from './utils.js';
let seconds = 0;onInterval(() => seconds += 1, 1000);
</script>