Vue.js中v-on指令的用法介紹
v-on指令
v-on指令在Vue.js中用來綁定事件監(jiān)聽器。事件類型由參數(shù)指定。表達(dá)式可以是一個方法的名字或一個內(nèi)聯(lián)預(yù)計,如果沒有修飾符也可以省略。
用在普通元素上時,只能監(jiān)聽原生DOM事件。用在自定義元素組件上時,也可以監(jiān)聽子組件觸發(fā)的自定義事件。
用法:
v-on:事件類型="函數(shù)體"
例如:點(diǎn)擊按鈕的時候執(zhí)行play事件
<button v-on:click="play">點(diǎn)擊事件</button>
注意:
在使用v-on指令綁定事件的時候,如果要執(zhí)行的是無參的函數(shù),函數(shù)體可以加括號也可以不加括號,下面的兩種寫法是等價的:
<button v-on:click="play()">點(diǎn)擊事件</button>
等同于
<button v-on:click="play">點(diǎn)擊事件</button>
但是,如果要傳遞參數(shù),則必須加括號,例如:
<button v-on:click="play(item)">點(diǎn)擊事件</button>
上面的例子是給play函數(shù)傳遞item參數(shù)。
注意:v-on的縮寫@
上面的代碼等同于下面的代碼:
<button @click="play">點(diǎn)擊事件</button>
代碼示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>v-on指令</title> <!--引入vue.js--> <script src="node_modules/vue/dist/vue.js" ></script> <script> window.onload=function(){ // 構(gòu)建vue實例 new Vue({ el:"#my", data:{ age:30 }, // 方法 methods:{ //無參 play:function(){ this.age=40; }, // 有參 playWithPara:function(para){ this.age=para; } } }) } </script> </head> <body> <div id="my"> <h1>年齡:{{age}}</h1> <button @click="age = 20">設(shè)置年齡為20</button> <button @click="play">設(shè)置年齡為40</button> <button @click="playWithPara(50)">根據(jù)參數(shù)設(shè)置年齡</button> </div> </body> </html>
一個按鈕也可以同時綁定多個事件,例如:
<button v-on="{mouseover:onOver,mouseout:onOut}">綁定多個事件</button>
上面我們通過對象的方式綁定多個事件,對象中的鍵是事件的名稱, 值是methods中的成員屬性方法
對應(yīng)的方法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>v-on指令</title> <!--引入vue.js--> <script src="node_modules/vue/dist/vue.js" ></script> <script> window.onload=function(){ // 構(gòu)建vue實例 new Vue({ el:"#my", data:{ age:30 }, // 方法 methods:{ //無參 play:function(){ this.age=40; }, // 有參 playWithPara:function(para){ this.age=para; }, onOver:function(){ var current=document.getElementById("mouse"); current.innerText="鼠標(biāo)移入"; }, onOut:function(){ var current=document.getElementById("mouse"); current.innerText="鼠標(biāo)移出"; } } }) } </script> </head> <body> <div id="my"> <h1>年齡:{{age}}</h1> <h1 id="mouse">當(dāng)前鼠標(biāo)動作</h1> <button @click="age = 20">設(shè)置年齡為20</button> <button @click="play">設(shè)置年齡為40</button> <button @click="playWithPara(50)">根據(jù)參數(shù)設(shè)置年齡</button> <button v-on="{mouseover:onOver,mouseout:onOut}">綁定多個事件</button> </div> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 淺談Vue.js 中的 v-on 事件指令的使用
- 詳解vue中v-on事件監(jiān)聽指令的基本用法
- 聊聊vue 中的v-on參數(shù)問題
- 關(guān)于Vue v-on指令的使用
- Vue中v-on的基礎(chǔ)用法、參數(shù)傳遞和修飾符的示例詳解
- vue中v-model、v-bind和v-on三大指令的區(qū)別詳解
- Vue中的v-model,v-bind,v-on的區(qū)別解析
- Vue.js基礎(chǔ)之監(jiān)聽子組件事件v-on及綁定數(shù)據(jù)v-model學(xué)習(xí)
- vue3常用的指令之v-bind和v-on指令用法
- vue v-on傳遞參數(shù)和事件修飾符的使用
相關(guān)文章
Vue數(shù)據(jù)雙向綁定底層實現(xiàn)原理
這篇文章主要為大家詳細(xì)介紹了Vue數(shù)據(jù)雙向綁定底層實現(xiàn)原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11Vue源碼解析之?dāng)?shù)組變異的實現(xiàn)
這篇文章主要介紹了Vue源碼解析之?dāng)?shù)組變異的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12一步一步實現(xiàn)Vue的響應(yīng)式(對象觀測)
這篇文章主要介紹了一步一步實現(xiàn)Vue的響應(yīng)式(對象觀測),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09vue 使用class創(chuàng)建和清除水印的示例代碼
這篇文章主要介紹了vue 使用class創(chuàng)建和清除水印的示例代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框)
這篇文章主要介紹了在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09antdv的table因數(shù)據(jù)量過大導(dǎo)致的卡頓問題及解決
這篇文章主要介紹了antdv的table因數(shù)據(jù)量過大導(dǎo)致的卡頓問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11