Vue.js 中提供了 created、mounted、updated 和 destroyed 四個生命周期鉤子,而 destroy 生命周期鉤子是在實例被銷毀之前調用。
destroyed: function() { // 在實例被銷毀之前調用 }
在實際開發(fā)中,我們往往需要在組件實例被銷毀時執(zhí)行一些清理操作,比如取消異步請求或清除定時器。
destroyed: function() { clearInterval(this.timerId); this.timerId = null; }
此外,Vue.js 還提供了 beforeDestroy 鉤子,該鉤子在實例被銷毀之前調用,可以用來做一些清理工作或者處理邏輯。
beforeDestroy: function() { // 在實例被銷毀之前調用,可以做一些清理工作或者處理邏輯 }
需要注意的是,如果在一個組件實例被銷毀之后再去訪問該實例的屬性或方法,會報錯。
var vm = new Vue({ data: { message: 'Hello Vue.js' } }); vm.$destroy(); // 銷毀實例 console.log(vm.message); // 報錯:Cannot read property 'message' of null
因此,在組件實例被銷毀后,我們需要注意避免訪問已經被銷毀的實例的屬性或方法。