日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue click事件_vue指令用法

發(fā)布時(shí)間:2023/12/4 vue 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue click事件_vue指令用法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

vue指令

指令式帶有 v- 前綴的特殊特性v-text和v-html都屬于指令將數(shù)據(jù)和dom做關(guān)聯(lián),當(dāng)表達(dá)式的值改變時(shí),響應(yīng)式地作用在視圖

解決大胡子語法閃爍案例

[v-cloak] {dispaly: none; }

一般把v-cloak綁在Vue實(shí)例el屬性綁定的節(jié)點(diǎn)上

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script><style>[v-cloak] {display: none;}</style></head><body><div id="app" v-cloak>{{msg}}</div><script>var vm = new Vue({el: "#app",data: {msg: "問題"}</script></body> </html>

v-bind給標(biāo)簽屬性綁定使用

v-bind是讓標(biāo)簽屬性可以動(dòng)態(tài)的使用data參數(shù)或者寫一些簡單的js表達(dá)式

v-text,v-html不同它倆是針對標(biāo)簽中的內(nèi)容,v-bind是針對標(biāo)簽中的屬性

v-bind案例:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--導(dǎo)入Vue cdn 的網(wǎng)址--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script> </head> <body><div id="app" ><a v-bind:href="url" v-bind:title="title">v-bind的縮寫是冒號(hào):</a></div><script>var vm = new Vue({el:"#app",data:{url:"www.baidu.com",title:'百度'}})</script> </body> </html>

v-on綁定事件v-on方法處理器和內(nèi)聯(lián)處理器

方法處理器內(nèi)聯(lián)處理器

v-on對象處理v-on:keyup監(jiān)聽按鍵觸發(fā)

事件修飾符

阻止事件冒泡--stop實(shí)現(xiàn)捕獲觸發(fā)事件的機(jī)制--capture只會(huì)阻止自己身上冒泡行為--self阻止默認(rèn)事件--prevent只觸發(fā)一次默認(rèn)行為

v-on綁定事件可以用v-on指令監(jiān)聽DOM事件

<button v-on:click="alert('a')">v-on</button>

v-on的縮寫@符號(hào)

v-on方法處理器和內(nèi)聯(lián)處理器

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--導(dǎo)入Vue cdn 的網(wǎng)址--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script> </head> <body><div id="app" ><button v-on:click="doThis">v-on按鈕</button></div><script>var vm = new Vue({el:"#app",methods:{// es6 語法doThis(){if (event) {alert(event.target.tagName)}alert('我是方法處理器')}},})</script> </body> </html>使用的時(shí)候帶括號(hào):'<button v-on:click="doThat('hello', $event)"></button>'帶括號(hào)的好處是可以傳參,但不自帶evet 事件,想使用event事件需要$event 參數(shù)傳入<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--導(dǎo)入Vue cdn 的網(wǎng)址--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script> </head> <body><div id="app" ><button v-on:click="doThat('hello', $event)">v-on按鈕</button></div><script>var vm = new Vue({el:"#app",methods:{// es6 語法doThat(parameter, event){let msg = parameter + "內(nèi)聯(lián)方法";if (event) {alert(event.target.tagName)}alert(msg);}},})</script> </body> </html>

內(nèi)聯(lián)處理器是指的什么呢?

<div id="example-3"><button v-on:click="say">Say hi</button><button v-on:click="say">Say what</button> </div>new Vue({el: '#example-3',methods: {say: function () {alert('hello');}} });

寫法:

<div id="example-3"><button v-on:click="say('hi')">Say hi</button><button v-on:click="say('what')">Say what</button> </div>new Vue({el: '#example-3',methods: {say: function (message) {alert(message);}} });

差異一個(gè)有括號(hào),一個(gè)沒括號(hào),對吧?

沒括號(hào)的這個(gè),直接就是函數(shù)名,有括號(hào)的這個(gè),實(shí)際是一條JS語句,有括號(hào)的這個(gè)就叫『內(nèi)聯(lián)處理器』。

沒括號(hào)的有這么一個(gè)好處:

<div id="example-3"><button v-on:click="say">Say hi</button><button v-on:click="say">Say what</button> </div>new Vue({el: '#example-3',methods: {say: function (event) {alert(event.target.tagName);}} });

有括號(hào)的

讓有括號(hào)的也能得到無括號(hào)娘胎里自帶的event參數(shù)

<div id="example-3"><button v-on:click="say('hi', $event)">Say hi</button><button v-on:click="say('what', $event)">Say what</button> </div>new Vue({el: '#example-3',methods: {say: function (message, event) {alert(message);alert(event.target.tagName);}} });

事件處理監(jiān)聽事件

<div id="example"><button v-on:click="counter += 1">Add</button><p>the button{{counter}}time</p> </div>var example = new Vue({el: '#example',data: {counter: 0} })

事件處理方法:

<div id="example-2"><!-- `greet` 是在下面定義的方法名 --><button v-on:click="greet">Greet</button> </div>var example2 = new Vue({el: '#example-2",data: {name: "Vue.js"},methods: {greet: function(event) {alert('hello' + this.name)if(event){alert(event.target.tagName)}}} }) example2.greet()

內(nèi)聯(lián)處理器中的方法

<div id="example-3"><button v-on:click="say('hi')">Say hi</button><button v-on:click="say('what')">Say what</button> </div>new Vue({el: '#example-3',methods: {say: function (message) {alert(message)}} })<button v-on:click="warn('Form cannot be submitted yet.', $event)">Submit </button>// ... methods: {warn: function (message, event) {// 現(xiàn)在我們可以訪問原生事件對象if (event) event.preventDefault()alert(message)} }

事件修飾符:在事件處理程序中調(diào)用 event.preventDefault() 或 event.stopPropagation()

Vue.js 為 v-on 提供了事件修飾符

.stop .prevent .capture .self .once .passive<!-- 阻止單擊事件繼續(xù)傳播 --> <a v-on:click.stop="doThis"></a><!-- 提交事件不再重載頁面 --> <form v-on:submit.prevent="onSubmit"></form><!-- 修飾符可以串聯(lián) --> <a v-on:click.stop.prevent="doThat"></a><!-- 只有修飾符 --> <form v-on:submit.prevent></form><!-- 添加事件監(jiān)聽器時(shí)使用事件捕獲模式 --> <!-- 即元素自身觸發(fā)的事件先在此處理,然后才交由內(nèi)部元素進(jìn)行處理 --> <div v-on:click.capture="doThis">...</div><!-- 只當(dāng)在 event.target 是當(dāng)前元素自身時(shí)觸發(fā)處理函數(shù) --> <!-- 即事件不是從內(nèi)部元素觸發(fā)的 --> <div v-on:click.self="doThat">...</div>

v-on:click.prevent.self 會(huì)阻止所有的點(diǎn)擊,而 v-on:click.self.prevent 只會(huì)阻止對元素自身的點(diǎn)擊

<!-- 點(diǎn)擊事件將只會(huì)觸發(fā)一次 --> <a v-on:click.once="doThis"></a><!-- 滾動(dòng)事件的默認(rèn)行為 (即滾動(dòng)行為) 將會(huì)立即觸發(fā) --> <!-- 而不會(huì)等待 `onScroll` 完成 --> <!-- 這其中包含 `event.preventDefault()` 的情況 --> <div v-on:scroll.passive="onScroll">...</div>

這個(gè) .passive 修飾符尤其能夠提升移動(dòng)端的性能

不要把 .passive 和 .prevent 一起使用,因?yàn)?.prevent 將會(huì)被忽略,同時(shí)瀏覽器可能會(huì)向你展示一個(gè)警告。請記住,.passive 會(huì)告訴瀏覽器你不想阻止事件的默認(rèn)行為。

按鍵修飾符

<!-- 只有在 `keyCode` 是 13 時(shí)調(diào)用 `vm.submit()` --> <input v-on:keyup.13="submit"><!-- 同上 --> <input v-on:keyup.enter="submit"><!-- 縮寫語法 --> <input @keyup.enter="submit">.enter .tab .delete (捕獲“刪除”和“退格”鍵) .esc .space .up .down .left .right// 可以使用 `v-on:keyup.f1` Vue.config.keyCodes.f1 = 112

自動(dòng)匹配按鍵修飾符

<input @keyup.page-down="onPageDown">

處理函數(shù)僅在 $event.key === 'PageDown' 時(shí)被調(diào)用

系統(tǒng)修飾鍵

.ctrl .alt .shift .meta<!-- Alt + C --> <input @keyup.alt.67="clear"><!-- Ctrl + Click --> <div @click.ctrl="doSomething">Do something</div>.exact 修飾符允許你控制由精確的系統(tǒng)修飾符組合觸發(fā)的事件。<!-- 即使 Alt 或 Shift 被一同按下時(shí)也會(huì)觸發(fā) --> <button @click.ctrl="onClick">A</button><!-- 有且只有 Ctrl 被按下的時(shí)候才觸發(fā) --> <button @click.ctrl.exact="onCtrlClick">A</button><!-- 沒有任何系統(tǒng)修飾符被按下的時(shí)候才觸發(fā) --> <button @click.exact="onClick">A</button>.left .right .middle

若本號(hào)內(nèi)容有做得不到位的地方(比如:涉及版權(quán)或其他問題),請及時(shí)聯(lián)系我們進(jìn)行整改即可,會(huì)在第一時(shí)間進(jìn)行處理。

請點(diǎn)贊!因?yàn)槟銈兊馁澩?鼓勵(lì)是我寫作的最大動(dòng)力!

歡迎關(guān)注達(dá)叔小生的簡書!

這是一個(gè)有質(zhì)量,有態(tài)度的博客

總結(jié)

以上是生活随笔為你收集整理的vue click事件_vue指令用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。