Vue是一款目前很流行的前端框架,具有很好的組件化開發體驗和性能優勢。在Vue中,組件是由數據驅動的,當數據發生變化時,視圖會自動更新。除了自動更新視圖外,Vue還提供了許多鉤子函數來處理組件生命周期事件,如created、mounted、updated等等。
其中,close事件也是Vue中常用的一個生命周期事件。close事件在組件銷毀前被觸發,通常用于清理一些組件中的一些定時器、事件監聽等資源。在組件銷毀前,會先觸發beforeDestroy鉤子函數,然后再觸發destroyed鉤子函數。close事件就是在beforeDestroy鉤子函數被觸發后,跟隨著組件銷毀的一個事件。
Vue.component('my-component', {
data: function () {
return {
timer: null
}
},
mounted: function () {
this.timer = setInterval(() =>{
console.log('Hello, Vue!')
}, 1000)
},
beforeDestroy: function () {
clearInterval(this.timer)
},
destroyed: function () {
console.log('Component destroyed')
},
close: function () {
console.log('Component closed')
}
})
在上面的代碼示例中,我們定義了一個名為my-component的組件,并在其中定義了一個定時器。當組件被銷毀前,我們需要清理這個定時器,否則會導致內存泄漏的問題。我們通過beforeDestroy鉤子函數清理了定時器,同時也在destroyed鉤子函數中打印了一條日志,表示組件已經被銷毀。
另外,我們在組件中也定義了一個close事件。當組件被關閉前,這個事件會被觸發,我們可以在事件處理函數中處理一些其他資源的清理工作。需要注意的是,close事件是Vue中自定義的事件,不同于DOM事件,所以需要通過emit方法來觸發它。
下一篇vue cli項目