vue render里面的nativeOn的解釋官方的解釋是:// 僅對於組件,用於監聽原生事件,而不是組件內部使用 `vm.$emit` 觸發的事件。
官方的解釋比較抽象
個人理解:
父組件要在子組件上使用click事件,就像使用正常的html標簽那樣使用click,我們知道在vue中,我們這樣寫是沒問題的,<h @click="do()"></h>,但是假如我們有一個組件叫comA,
<comA @click="do()"></comA>這樣寫肯定是不行的(除非子組件里面做了手腳哈),只要加上.native就可以生效<comA @click.native="do()"></comA>
僅用於組件這句話意思是:createElement()里面創建的不可以是原生html元素 而是組件,舉例:createElement(‘p’,{nativeOn:{click:function(){}}})這個時候nativeOn就沒有意義,而createElement(‘組件名稱’,{nativeOn:{click:function(){}}})就會有意義,在最終頁面上在該組件上發生了點擊事件最終會觸發nativeOn里面的Click事件