W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要在組件被銷毀時運行代碼,請使用 ?onDestroy
?。
例如,我們可以在組件初始化時添加一個 ?setInterval
? 函數(shù),并在它不再使用時將其清除。這樣做可以防止內(nèi)存泄漏。
<script>
import { onDestroy } from 'svelte';
let seconds = 0;
const interval = setInterval(() => seconds += 1, 1000);
onDestroy(() => clearInterval(interval));
</script>
雖然在組件初始化期間調(diào)用生命周期函數(shù)很重要,但從哪里調(diào)用它們并不重要。因此,如果我們愿意,我們可以將間隔邏輯抽象為 ?utils.js
? 中的輔助函數(shù)......
import { onDestroy } from 'svelte';
export function onInterval(callback, milliseconds) {
const interval = setInterval(callback, milliseconds);
onDestroy(() => {
clearInterval(interval);
});
}
...并將其導(dǎo)入到我們的組件中:
<script>
import { onInterval } from './utils.js';
let seconds = 0;
onInterval(() => seconds += 1, 1000);
</script>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: