detached
detached
生命周期鉤子會在組件從文檔中移除時觸發。在這個階段,你可以執行一些清理操作,比如取消事件監聽或者釋放資源,以防止內存泄漏。
示例代碼
<div id="logger">-</div>
<div style="color:red;">shadow html : <span id="shadowHtml"></span></div>
<script>
setTimeout(()=>{
const ele = document.createElement('test-ready');
setTimeout(()=>{
$('body').push(ele);
setTimeout(()=>{
$(ele).remove();
},500);
},500);
},500);
</script>
<div id="logger">-</div>
<div style="color:red;">shadow html : <span id="shadowHtml"></span></div>
<script>
setTimeout(()=>{
const ele = document.createElement('test-ready');
setTimeout(()=>{
$('body').push(ele);
setTimeout(()=>{
$(ele).remove();
},500);
},500);
},500);
</script>
<template component>
<div>test ready</div>
<script>
let count = 0;
export default {
tag: "test-ready",
ready(){
count++;
$("#logger").text = count;
$('#shadowHtml').text = this.shadow ? this.shadow.html : 'null';
},
attached(){
count++;
$("#logger").text = count;
},
detached(){
count++;
$("#logger").text = count;
}
};
</script>
</template>