vue學(xué)習(xí)筆記之給組件綁定原生事件操作示例
本文實例講述了vue學(xué)習(xí)筆記之給組件綁定原生事件操作。分享給大家供大家參考,具體如下:
當(dāng)在父組件中定義一個點擊事件,并且在父組件的methods中定義了這個點擊事件時,在頁面上點擊并不會有什么反應(yīng)。那么該怎么辦呢?
我們可以在子組件的template中的dom上定義一個點擊事件(原生事件),并且在子組件的methods中定義該點擊事件,然而點擊頁面時也只會alert(child click )
。
這是為什么呢?父組件的點擊事件被vue當(dāng)成自定義事件,點擊后沒有檢測到,這時需要子組件向父組件觸發(fā)點擊'自定義'事件,即 this.$emit('change')
。then,完成。先響應(yīng)了child click,然后響應(yīng)了click。
<!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>組件參數(shù)的校驗</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <child @change="handleClick"></child> <!--此處父組件,相當(dāng)于自定義事件--> </div> </body> </html> <script> Vue.component('Child', { template: '<div @click="handleChildClick">child</div>', /* 原生事件 */ methods:{ handleChildClick:function () { alert("child click") this.$emit('change') // 向父組件傳遞自定義事件 } } }) var vm = new Vue({ el: '#app', methods:{ handleClick:function () { alert("click"); } } }) </script>
但是這樣好麻煩哦??!怎么辦呢?
我們可以直接在父組件定義的@click后面加上native,告訴vue我定義的事件就是原生事件?。【鸵磺?#63;了
like this:
<!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>組件參數(shù)的校驗</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <child @click.native="handleClick"></child> <!--此處聲明,原生事件--> </div> </body> </html> <script> Vue.component('Child', { template: '<div>child</div>' }) var vm = new Vue({ el: '#app', methods:{ handleClick:function () { alert("click"); } } }) </script>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
希望本文所述對大家vue.js程序設(shè)計有所幫助。
相關(guān)文章
詳解從Vue.js源碼看異步更新DOM策略及nextTick
本篇文章主要介紹了從Vue.js源碼看異步更新DOM策略及nextTick,具有一定的參考價值,感興趣的小伙伴們可以參考一2017-10-10一步一步實現(xiàn)Vue的響應(yīng)式(對象觀測)
這篇文章主要介紹了一步一步實現(xiàn)Vue的響應(yīng)式(對象觀測),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09vue中動態(tài)出來返回的時間秒數(shù)(在多少秒顯示分、小時等等)
這篇文章主要給大家介紹了關(guān)于vue中動態(tài)出來返回的時間秒數(shù)(在多少秒顯示分、小時等等)的相關(guān)資料,文中通過代碼示例介紹的非常詳細,對大家學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01