W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
要在組件被銷毀時(shí)運(yùn)行代碼,請(qǐng)使用 ?onDestroy
?。
例如,我們可以在組件初始化時(shí)添加一個(gè) ?setInterval
? 函數(shù),并在它不再使用時(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)用它們并不重要。因此,如果我們?cè)敢?,我們可以將間隔邏輯抽象為 ?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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: