欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue.js前端框架之事件處理小結(jié)

 更新時(shí)間:2021年04月25日 10:10:25   作者:小白_xm  
這篇文章主要介紹了Vue.js前端框架之事件處理小結(jié),本文給大家介紹了v-on 指令的基本用法,通過(guò)實(shí)例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1. v-on 事件監(jiān)聽(tīng)

監(jiān)聽(tīng)DOM事件使用 v-on 指令。該指令通常在模板中直接使用,在觸發(fā)事件時(shí)會(huì)執(zhí)行一些 JavaScript 代碼。

v-on 指令的基本用法

(1)在 HTML 中使用 v-on 指令,后面可以是所有的原生事件名稱(chēng)?;居梅ㄈ缦拢?/p>

<button v-on:click="show">顯示</button>

將 click 單擊事件綁定到 show 方法中,單擊“顯示”按鈕時(shí),執(zhí)行 show() 方法,show() 方法在 Vue實(shí)例中定義。

(2)在使用 v-on 指令的過(guò)程中,Vue.js 提供了 v-on 指令的簡(jiǎn)寫(xiě)形式 “@” ,上述代碼可改寫(xiě)為如下:

<button @click="show">顯示</button>

(3)v-on 指令的簡(jiǎn)單用法如下:

<div id="box">
			<!--v-on 基本用法-->
			<button v-on:click="count1++">計(jì)數(shù)</button>
			<p>按鈕被點(diǎn)擊{{count1}}次</p>
			<!--v-on 簡(jiǎn)單用法-->
			<button @click="count2++">計(jì)數(shù)</button>
			<p>按鈕被點(diǎn)擊{{count2}}次</p>
</div>
		   <script type="text/javascript">
				var vm = new Vue({
					el : '#box',
					data:{
						count1:0,
						count2:0
					}
					
				});
			</script>

v-on 指令的簡(jiǎn)單用法如下圖所示:

在這里插入圖片描述

事件處理方法

在使用 v-on 指令過(guò)程中,通過(guò) v-on 指令需要將事件和某個(gè)方法進(jìn)行綁定,而綁定的方法作為事件處理器定義在 methods 選項(xiàng)中。示例代碼參考如下:

<div id="box">
			<button v-on:click="show">顯示</button>
		</div>
		   <script type="text/javascript">
				var vm = new Vue({
					el : '#box',
					data:{
						name:'曉茗',
						age: 29,
						occupation:'演員'
					},
					methods:{
						show:function(){
							alert('姓名:'+this.name+'年齡:'+this.age+'職業(yè):'+this.occupation);
						}
					}
					
				});
			</script>

v-on 指令將點(diǎn)擊事件與顯示方法綁定的結(jié)果圖片如下:

在這里插入圖片描述

使用內(nèi)聯(lián) JavaScript 語(yǔ)句

(1)使用 v-on 指令除了直接綁定到一個(gè)方法之外,v-on 指令也支持內(nèi)聯(lián) JavaScript 語(yǔ)句,但前提是只可以使用一個(gè)語(yǔ)句。示例代碼參考如下:

<div id="box">
			<button v-on:click="show('明日之星')">顯示</button>
		</div>
		   <script type="text/javascript">
				var vm = new Vue({
					el : '#box',
					methods:{
						show:function(message){
							alert('消息:'+message);
						}
					}
					
				});

使用內(nèi)聯(lián) JavaScript 語(yǔ)句的運(yùn)行結(jié)果如下圖所示:

在這里插入圖片描述

(2)在內(nèi)聯(lián)語(yǔ)句中需要獲取原生的 DOM 事件對(duì)象時(shí),可以將一個(gè)特殊變量 $event 傳入方法中。示例代碼如下:

<div id="box">
			<a  rel="external nofollow"  v-on:click="show('明日之星',$event)">{{message}}</a>
		</div>
		   <script type="text/javascript">
				var vm = new Vue({
					el : '#box',
					data:{
						message:'你好'
					},
					methods:{
						show:function(message1,e){
							e.preventDefault();
							alert(message1);
						}
					}
					
				});
			</script>

除了向 show() 方法傳遞一個(gè)值外,還傳遞了一個(gè)特殊變量 $event,該變量的作用是當(dāng)點(diǎn)擊超鏈接時(shí),對(duì)原生 DOM 事件進(jìn)行處理,應(yīng)用 preventDefault() 方法阻止該超鏈接的跳轉(zhuǎn)行為。當(dāng)單擊 “你好” 超鏈接時(shí),會(huì)彈出對(duì)話(huà)框,運(yùn)行結(jié)果如下圖所示:

在這里插入圖片描述

2. 事件處理修飾符

所謂修飾符,就是以半角句點(diǎn)符號(hào)指明的特殊后綴。Vue.js 為 v-on 指令提供了多個(gè)修飾符,包括事件修飾符和按鍵修飾符。
事件修飾符
在事件處理程序中經(jīng)常會(huì)調(diào)用 preventDefault() 或 stopPropagation() 方法來(lái)實(shí)現(xiàn)特定的功能。為處理這些 DOM 事件細(xì)節(jié),Vue.js 為 v-on 指令提供了事件修飾符。常用的事件修飾符及其說(shuō)明如下表所示:

在這里插入圖片描述

修飾符可以串聯(lián)使用,而且可以只使用修飾符,而不綁定事件處理方法。事件修飾符的使用方式如下:

<!-- 阻止單擊事件繼續(xù)傳播-->
<a v-on:click.stop="doSomething"></a>
<!-- 阻止表單默認(rèn)提交事件-->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 只有當(dāng)事件從當(dāng)前元素本身觸發(fā)時(shí)才調(diào)用處理函數(shù)-->
<div v-on:click.self="doSomething"></div>
<!-- 修飾符串聯(lián),阻止表單默認(rèn)提交事件且阻止冒泡-->
<a v-on:click.stop.prevent="doSomething"></a>
<!-- 只有修飾符,而不綁定事件-->
<form v-on:submit.prevent></form>

應(yīng)用一個(gè) .stop 修飾符阻止事件冒泡的示例代碼如下:

<div id="box">
			<div v-on:click="show('div事件觸發(fā)')">
				<button v-on:click.stop="show('按鈕的事件觸發(fā)')">顯示</button>
			</div>
		</div>
		   <script type="text/javascript">
				var vm = new Vue({
					el : '#box',
					methods:{
						show:function(message){
							alert(message);
						}
					}
					
				});
			</script>

當(dāng)單擊”顯示“按鈕時(shí),只會(huì)觸發(fā)該按鈕的單擊事件。如果在按鈕中未使用 .stop 修飾符,當(dāng)單擊”顯示“按鈕時(shí),不但會(huì)觸發(fā)該按鈕的單擊事件,還會(huì)觸發(fā) div 的單擊事件,會(huì)彈出兩個(gè)對(duì)話(huà)框。運(yùn)行結(jié)果如下圖所示:
(1)使用 .stop 修飾符:

在這里插入圖片描述

(2)未使用.stop 修飾符點(diǎn)擊確定后顯示:

在這里插入圖片描述
在這里插入圖片描述

按鍵修飾符

除事件修飾符之外,Vue.js 還為 v-on 指令提供了按鍵修飾符,以便監(jiān)聽(tīng)鍵盤(pán)事件中的按鍵。當(dāng)觸發(fā)鍵盤(pán)事件時(shí)需要檢測(cè)按鍵的 keyCode值,代碼如下:

<input v-on:keyup.13="submit">

應(yīng)用 v-on 指令監(jiān)聽(tīng)鍵盤(pán)的 keyup 事件,鍵盤(pán)中回車(chē)鍵的 keyCode 值是13,所以,在文本框輸入內(nèi)容后,單擊回車(chē)鍵時(shí)就會(huì)調(diào)用 submit()方法。
對(duì)上述所示的代碼,可以使用其別名的方式,回車(chē)鍵別名為 Enter ,代碼如下:

<input v-on:keyup.enter="submit">

Vue.js 為常用的按鍵提供的別名如下表所示:

在這里插入圖片描述

備注:后期會(huì)繼續(xù)跟進(jìn) Vue.js前端框架:表單控制綁定,希望大家的多多支持和關(guān)注。

到此這篇關(guān)于Vue.js前端框架之事件處理小結(jié)的文章就介紹到這了,更多相關(guān)Vue.js事件處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue項(xiàng)目中封裝echarts的優(yōu)雅方式分享

    vue項(xiàng)目中封裝echarts的優(yōu)雅方式分享

    在實(shí)際項(xiàng)目開(kāi)發(fā)中,我們會(huì)經(jīng)常與圖表打交道,比如?訂單數(shù)量表、商品銷(xiāo)量表、會(huì)員數(shù)量表等等,它可能是以折線(xiàn)圖、柱狀圖、餅狀圖等等的方式來(lái)展現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中封裝echarts的優(yōu)雅方式的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • vue.js el-table動(dòng)態(tài)單元格列合并方式

    vue.js el-table動(dòng)態(tài)單元格列合并方式

    這篇文章主要介紹了vue.js el-table動(dòng)態(tài)單元格列合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue3.0報(bào)錯(cuò)Cannot?find?module‘worker_threads‘的解決辦法

    vue3.0報(bào)錯(cuò)Cannot?find?module‘worker_threads‘的解決辦法

    這篇文章介紹了vue3.0報(bào)錯(cuò)Cannot?find?module‘worker_threads‘的解決辦法。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • 前端插件庫(kù)之vue3使用vue-codemirror插件的步驟和實(shí)例

    前端插件庫(kù)之vue3使用vue-codemirror插件的步驟和實(shí)例

    CodeMirror是一款基于JavaScript、面向語(yǔ)言的前端代碼編輯器,下面這篇文章主要給大家介紹了關(guān)于前端插件庫(kù)之vue3使用vue-codemirror插件的步驟和實(shí)例,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 解決微信瀏覽器緩存站點(diǎn)入口文件(IIS部署Vue項(xiàng)目)

    解決微信瀏覽器緩存站點(diǎn)入口文件(IIS部署Vue項(xiàng)目)

    這篇文章主要介紹了解決微信瀏覽器緩存站點(diǎn)入口文件(IIS部署Vue項(xiàng)目),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題

    解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題

    今天小編就為大家分享一篇解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue路由 遍歷生成復(fù)數(shù)router-link的例子

    vue路由 遍歷生成復(fù)數(shù)router-link的例子

    今天小編就為大家分享一篇vue路由 遍歷生成復(fù)數(shù)router-link的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • Vue中addEventListener()?監(jiān)聽(tīng)事件案例講解

    Vue中addEventListener()?監(jiān)聽(tīng)事件案例講解

    這篇文章主要介紹了Vue中addEventListener()?監(jiān)聽(tīng)事件案例講解,包括語(yǔ)法講解和事件冒泡或事件捕獲的相關(guān)知識(shí),本文結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 一文詳解Vue中過(guò)濾器filters的使用

    一文詳解Vue中過(guò)濾器filters的使用

    Vue.js允許自定義過(guò)濾器,過(guò)濾器的作用可被用于一些常見(jiàn)的文本格式化(也就是修飾文本,但是文本內(nèi)容不會(huì)改變),本文主要來(lái)和大家講講過(guò)濾器filters的使用,感興趣的可以了解一下
    2023-04-04
  • Vue實(shí)現(xiàn)無(wú)限級(jí)樹(shù)形選擇器

    Vue實(shí)現(xiàn)無(wú)限級(jí)樹(shù)形選擇器

    這篇文章主要介紹了Vue實(shí)現(xiàn)無(wú)限級(jí)樹(shù)形選擇器,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09

最新評(píng)論