前端小白學習Vue.js心得分享

一榨惠,事件修飾符

事件修飾符有很多種類甚脉,在我們Vue.js官網跟我們列出來了很多修飾符滚澜,再加上我自己在網上搜的一些修飾符蓉媳,我在這里全列出來供大家參考:
1.stop:調用event.stopPropagation() 停止事件發(fā)生
2.prevent:調用event.preventDefault()阻止默認事件發(fā)生
3.capture:添加事件偵聽器時使用capture模式
4.self:只當事件是從偵聽器綁定的元素本身觸發(fā)時才觸發(fā)回調
5.{keyCode | keyAlias}:只當事件是從特定鍵觸發(fā)時才觸發(fā)回調
6.native:監(jiān)聽組件根元素的原生事件
7.once:只觸發(fā)一次回調
8.left:只當點擊鼠標左鍵時觸發(fā)
9.right:只當點擊鼠標右鍵時觸發(fā)
10.middle:只當點擊鼠標中鍵時觸發(fā)
11.passive:以{passive: true}模式添加偵聽器

注:上面這些修飾符也有我對其自己理解的意思,并不代表官方認可空民,僅供參考

那么現(xiàn)在我們來一起交流一下什么是事件修飾符刃唐,在我們進入正題之前,我們先寫一個鼠標事件(mousemove)那么代碼我們還是緊跟著上一篇文章寫下來界轩,我們先創(chuàng)建一個div容器画饥,然后我們在給一些簡單的樣式

<body>
<div id="app-vue">
          <button v-on:click="add(1)">漲一歲</button>
          <button v-on:click="bdd(10)">減一歲</button>
          <p> 我今年{{age}}</p>
    <div id="xy" v-on:mousemove="updateXY">{{x}},{{y}}</div>
</div>
</body>
#xy{
    width: 500px;
    padding: 200 px 20 px;
    text-align: center;
    border: 1px solid black;
    height: 500px;
    }
new Vue({
        el:"#app-vue",
        data:{ 
             age:22,
             x:0,
             y:0
},
        methods:{
             add:function(inc){
                   this.age+=inc; 
},
             bdd:function(dec){
                   this.age-=dec;
},
             updateXY:function(event){
                  //console.log(event);
                  this.x = event.offsetX;
                  this.y = event.offsetY;
}
}
})

上面的代碼就是我們的鼠標事件那么上面的代碼怎么解釋呢,v-on:mousemove="updateXY"這個代碼就是我們的鼠標移動事件浊猾,我們想要的結果就是抖甘,當我們鼠標移動到div這個容器里面的時候,我們會看到容器里面的 X Y會隨著我們鼠標的移動而改變他們的值葫慎,既然我們綁定了這個鼠標事件衔彻,我們就要給他一個對應的值和方法,我們在data里面設置了x=0 y=0 也就是默認值偷办,那么在我們方法里面就要獲取我們鼠標移動到div容器的值艰额,并且傳輸給我們的x 和 y
那么我們首先獲取這個值console.log(event)我們在console里面可以看到,當我們鼠標移動到div容器里面的時候椒涯,會有很多數值柄沮,我們隨便點開一個會看到有
offsetXoffsetY這兩個屬性,這兩個屬性后面的數字就是我們想要的x和y的值,那么我們就要把這個值賦予給x和ythis.x = event.offsetX this.y = event.offsetY這兩個代碼就是給x和y賦值的方法祖搓。
這時我們再回到頁面中我們鼠標移動到div容器里面的時候我們會看到x和y的值會隨著我們鼠標的移動而變化狱意,這篇文章我們講的是事件修飾符,那么我們剛剛說過棕硫,x和y的值會隨著我們鼠標的移動而改變,當我們鼠標移動到某個地方的時候他的值不在改變怎么辦呢袒啼,我們在JS里面有說過阻止冒泡事件哈扮,那么我們在div里面給他一個span的標簽,我們鼠標移動到span上面希望有一個事件發(fā)生蚓再,說簡單點x和y值停止運算滑肉,那我們也要給span標簽一個v-on:mousemove=" "這個方法,我們取名為“stopmoving”摘仅,名字取號了我們就要寫對應的方法靶庙,我們要想阻止這個冒泡事件我們需要拿到event這個對象,我們就要event.stopPropagation(),這樣的話我們就可以阻止這個冒泡事件了娃属。

new Vue({
        el:"#app-vue",
        data:{ 
             age:22,
             x:0,
             y:0
},
        methods:{
             add:function(inc){
                   this.age+=inc; 
},
             bdd:function(dec){
                   this.age-=dec;
},
             updateXY:function(event){
                  //console.log(event);
                  this.x = event.offsetX;
                  this.y = event.offsetY;
},
             stopmoving:function(event){
                    event.stopPropagation()
}
}
})
<body>
<div id="app-vue">
          <button v-on:click="add(1)">漲一歲</button>
          <button v-on:click="bdd(10)">減一歲</button>
          <p> 我今年{{age}}</p>
    <div id="xy" v-on:mousemove="updateXY">
                   {{x}},{{y}}
      <span v-on:mousemove="stopmoving">在這停頓</span>
    </div>
</div>
</body>

上面是我們完整的代碼六荒,當我們進入到網頁時,我們會看到x和y后面會有“在這停頓”鼠標移動到上面的時候我們會發(fā)現(xiàn)x和y的值就不會變化矾端,我們在移開這個區(qū)域他又會開始變化掏击,既然我們是事件修飾符,那我們就可以不需要這個stopmoving方法了秩铆,我們直接用事件修飾符就可以了砚亭,因為他已經幫我們包裝好這個方法了,我們值需要將<span v-on:mousemove="stopmoving">這個代碼改成<span v-on:mousemove.stop=" ">這個代碼就行了殴玛,他們兩個效果是一樣的捅膘。

這是我和大家一起分享我自己所學到的一些Vue.js的基礎知識,希望看到這篇文章的各位前輩多多關照滚粟,小生有哪些錯誤的地方希望能夠指出來寻仗,也希望其他和我一樣的小白能夠有所幫助。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末凡壤,一起剝皮案震驚了整個濱河市愧沟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鲤遥,老刑警劉巖沐寺,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盖奈,居然都是意外死亡混坞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來究孕,“玉大人啥酱,你說我怎么就攤上這事〕睿” “怎么了镶殷?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長微酬。 經常有香客問我绘趋,道長,這世上最難降的妖魔是什么颗管? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任陷遮,我火速辦了婚禮,結果婚禮上垦江,老公的妹妹穿的比我還像新娘帽馋。我一直安慰自己,他們只是感情好比吭,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布绽族。 她就那樣靜靜地躺著,像睡著了一般衩藤。 火紅的嫁衣襯著肌膚如雪项秉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天慷彤,我揣著相機與錄音娄蔼,去河邊找鬼。 笑死底哗,一個胖子當著我的面吹牛岁诉,可吹牛的內容都是我干的。 我是一名探鬼主播跋选,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼涕癣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了前标?” 一聲冷哼從身側響起坠韩,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炼列,沒想到半個月后只搁,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡俭尖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年氢惋,在試婚紗的時候發(fā)現(xiàn)自己被綠了洞翩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡焰望,死狀恐怖骚亿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情熊赖,我是刑警寧澤来屠,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站震鹉,受9級特大地震影響俱笛,放射性物質發(fā)生泄漏。R本人自食惡果不足惜足陨,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一嫂粟、第九天 我趴在偏房一處隱蔽的房頂上張望娇未。 院中可真熱鬧墨缘,春花似錦、人聲如沸零抬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽平夜。三九已至蝶棋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忽妒,已是汗流浹背玩裙。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留段直,地道東北人吃溅。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像鸯檬,于是被迫代替她去往敵國和親决侈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 一喧务。Vue.js 鏈接引入 vue.js下載安裝地址 https://vuejs.org赖歌。 CDN鏈接建議手動更新...
    南極小丑閱讀 453評論 0 0
  • 一,屬性綁定 我們上一篇已經講過了我們Vue.js是什么功茴,以及怎么引入和實例化Vue對象庐冯,那么這篇我們繼續(xù)分享我們...
    南極小丑閱讀 334評論 0 0
  • 一,安裝坎穿,引用Vue.js 對于我們剛入門的純小白來講肄扎,想要學好Vue.js,只有知道了認識了和了解了,我們才能更...
    南極小丑閱讀 1,399評論 0 1
  • ??JavaScript 與 HTML 之間的交互是通過事件實現(xiàn)的。 ??事件衡载,就是文檔或瀏覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,474評論 1 11
  • 悟空告辭了紅孩兒搔耕,直奔天庭一零一幼兒園。 “園長痰娱,快把我孩子石頭的名字報上弃榨。”悟空將房子的手續(xù)擺在了園長面前梨睁。 園...
    井岡山豆皮閱讀 120評論 0 2