<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        淺談Vue.js 組件中的v-on綁定自定義事件理解

        來源:懂視網 責編:小采 時間:2020-11-27 22:25:28
        文檔

        淺談Vue.js 組件中的v-on綁定自定義事件理解

        淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實例都實現了事件接口(Events interface),即: 使用 $on(eventName) 監聽事件 使用 $emit(eventName) 觸發事件 Vue的事件系統分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$on 和 $emit 不是addEventListene
        推薦度:
        導讀淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實例都實現了事件接口(Events interface),即: 使用 $on(eventName) 監聽事件 使用 $emit(eventName) 觸發事件 Vue的事件系統分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$on 和 $emit 不是addEventListene

        每個 Vue 實例都實現了事件接口(Events interface),即:

        使用 $on(eventName) 監聽事件

        使用 $emit(eventName) 觸發事件

        Vue的事件系統分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$on 和 $emit 不是addEventListener 和 dispatchEvent 的別名。

        另外,父組件可以在使用子組件的地方直接用 v-on 來監聽子組件觸發的事件。

        下面是一個文檔上面的例子:

        2017年4月11日更新

        <div id="counter-event-example">
         <p>{{ total }}</p>
         <button-counter v-on:increment="incrementTotal"></button-counter>
         <button-counter v-on:increment="incrementTotal"></button-counter>
        </div>
        
        
        Vue.component('button-counter', {
         template: '<button v-on:click="increment">{{ counter }}</button>',
         data: function () {
         return {
         counter: 0
         }
         },
         methods: {
         increment: function () {
         this.counter += 1
         this.$emit('increment')
         }
         },
        })
        new Vue({
         el: '#counter-event-example',
         data: {
         total: 0
         },
         methods: {
         incrementTotal: function () {
         this.total += 1
         }
         }
        })
        
        

        跟著這個例子我來談談理解,更新以前我那種錯誤的思想

        先畫出理解的步驟,跟著步驟來進行理解

        步驟1:

        大家先看到這里,其實在步驟4里面的自定義標簽經過渲染之后是變成了如 步驟一 一樣的代碼,所以我們應該從這里入手理解父子組件間事件綁定。在子組件里面把點擊事件(click)綁定給了函數increment(即圖片里面的步驟2),這里容易理解,即點擊了子組件的按鈕將會觸發位于子組件的increment函數

        步驟2與步驟3:

        increment函數被觸發執行,在步驟2里面執行了一句調用函數的語句

        this.$emit('increment')

        我們來看一下文檔

        vm.$emit( event, […args] ) : 觸發當前實例上的事件。附加參數都會傳給監聽器回調

        在這里是什么意思呢?按我自己的大白話就是這樣說的:

        通過這句函數可以讓父組件知道子組件調用了什么函數,this.$emit(‘increment') 即類似于子組件跟父組件說了一聲“hi,爸爸 我調用了我自己的increment函數”,通知父組件

        步驟4:

        回看一下在父組件里面定義的自定義標簽,可以看到

        v-on:increment="incrementTotal"

        什么意思呢?我們還是用大白話來解釋一下

        就是說“孩子,當你調用了increment函數的時候,我將調用incrementTotal函數來回應你”

        這時我們回想步驟3,在子組件我們已經使用emit來進行通知,所以,這樣就形成父子組件間的相互呼應傳遞信息,其實在開發的過程中父子組件通訊也都是使用這樣的方法,父組件傳遞信息給子組件的時候會通過props參數,通常不會直接在子組件中修改父組件傳遞下來的信息,而且通過這樣的一個鉤子去通知父組件對某些參數進行改變

        步驟5:

        這個就容易理解了,上一版本是本人在初學的時候寫的所以思維很不嚴謹,抱歉,歡迎大家指導批評

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淺談Vue.js 組件中的v-on綁定自定義事件理解

        淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實例都實現了事件接口(Events interface),即: 使用 $on(eventName) 監聽事件 使用 $emit(eventName) 觸發事件 Vue的事件系統分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$on 和 $emit 不是addEventListene
        推薦度:
        標簽: VUE 事件 on
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲免费视频网站| 日本成年免费网站| 亚洲精品无码永久在线观看男男| 亚洲午夜电影在线观看高清| 久久亚洲精品国产精品婷婷| 在线观看亚洲网站| 成人无码区免费A∨直播| 鲁大师在线影院免费观看| 大香人蕉免费视频75| 亚洲精品专区在线观看| 亚洲丝袜美腿视频| 日日摸日日碰夜夜爽亚洲| 99视频在线看观免费| 亚洲首页在线观看| kk4kk免费视频毛片| 免费国产作爱视频网站| 久久久久亚洲国产| 国产成人免费片在线观看| 在线观看亚洲人成网站| 999国内精品永久免费观看| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲国产精品专区| 免费看美女让人桶尿口| 亚洲成AV人片久久| 国产色无码精品视频免费| 四虎影视在线永久免费看黄| 亚洲欧洲日产韩国在线| 成人男女网18免费视频| 亚洲第一永久在线观看| 免费国产成人午夜在线观看| 免费人妻无码不卡中文字幕18禁| 亚洲三级中文字幕| 91免费在线播放| 久久亚洲AV成人无码国产| 国产成人无码区免费网站| 亚洲国产高清在线| 国产精品久免费的黄网站| 免费人成在线观看视频高潮| 日本亚洲精品色婷婷在线影院 | 亚洲成a人片7777| 日本免费人成视频播放|