在Vue框架中,emit和on是非常常用的兩個方法。emit可以向當前組件的父組件觸發一個自定義事件,而on可以監聽一個自定義事件。
有時候我們需要在一定條件下,暫時停止監聽某個自定義事件,這時就需要用到off方法。off方法可以用來取消監聽一個自定義事件,它的寫法與on類似,只需要把監聽函數替換成null即可。
// 為自定義事件添加監聽器 this.$emit('my-event', 'some data'); // 監聽自定義事件 this.$parent.$on('my-event', function(data){ console.log(data); }); // 取消監聽自定義事件 this.$parent.$off('my-event', null);
這樣就可以暫時停止監聽某個自定義事件了。需要注意的是,在使用$off方法移除事件監聽器時需要使用與$on一樣的參數向量。
上一篇vue el組件