Vue2中怎么實現Vue1中的廣播事件
Vue2中怎么實現Vue1中的廣播事件
慕桂英4014372
2019-04-02 05:00:42
TA貢獻1799條經驗 獲得超9個贊
在Vue中為DOM元素綁定事件的具體方法在文章中的 方法與事件處理器 章節,通過v-on指令或事件語法糖 @ 為DOM元素綁定事件。Vue解析組件模板后,在綁定更新 v-on 指令時會為DOM元素綁定事件(當然如果元素為 iframe ,會等到 iframe 加載完成后再為其綁定事件)。
Vue中為DOM元素綁定事件是采用DOM2級事件的處理方式,因為Vue服務的是IE9以上的現代瀏覽器,他們也都是支持DOM2級事件。因此下例中
<div @click="func"></div>
實際上相當于
el.addEventListener('click', func)
所以 addEventListener 支持綁定的事件, v-on 指令也都支持。同樣的理論上也可以解綁事件,雖然也有相應的 api ,但是Vue文檔中并沒有顯示地告訴我們怎么做。
在代碼中可以看到,每個 v-on 指令都有一個reset 方法, reset 方法是當指令所綁定方法發生改變時,重新綁定事件之前的解綁操作,我們可以利用這個 api 來解綁事件。因此如果需要解綁事件,我們可以遍歷 vm._directives 找到相應該指令,進行解綁。
舉報