vue中的destroy()方法是在組件銷毀時調用的。銷毀組件時需要調用一些清理代碼,可以在destroy()中實現。例如,解除事件監聽器、取消定時器等操作。
destroyed() { window.removeEventListener('resize', this.handleResize) clearInterval(this.timer) }
在組件銷毀時解除事件監聽器是很常見的操作,避免內存泄漏。另外,也可以在destroy()中銷毀一些引用型變量,例如對象或數組,避免內存泄漏。
data() { return { list: [/* ... */] } }, destroyed() { this.list = null }
銷毀組件時,應該遵循vue的生命周期順序,先觸發beforeDestroy()方法,再觸發destroyed()方法。在beforeDestroy()中也可以實現清理操作,但是需要注意清理時機。
beforeDestroy() { this.$refs.child.$destroy() }
在父組件銷毀時,需要手動銷毀子組件,可以在beforeDestroy()中調用子組件的$destroy()方法。這樣可以避免子組件的內存泄漏問題。