成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官最喜歡問的 14 種Vue修飾符

開發 前端
大家好,我是林三心,眾所周知,修飾符也是Vue的重要組成成分之一,利用好修飾符可以大大地提高開發的效率,接下來給大家介紹一下面試官最喜歡問的13種Vue修飾符。

 

前言

大家好,我是林三心,眾所周知,修飾符也是Vue的重要組成成分之一,利用好修飾符可以大大地提高開發的效率,接下來給大家介紹一下面試官最喜歡問的13種Vue修飾符。

1.lazy

lazy修飾符作用是,改變輸入框的值時value不會改變,當光標離開輸入框時,v-model綁定的值value才會改變

  1. <input type="text" v-model.lazy="value"
  2. <div>{{value}}</div> 
  3.  
  4. data() { 
  5.         return { 
  6.             value: '222' 
  7.         } 
  8.     } 

lazy1

2.trim

trim修飾符的作用類似于JavaScript中的trim()方法,作用是把v-model綁定的值的首尾空格給過濾掉。

  1. <input type="text" v-model.trim="value"
  2. <div>{{value}}</div> 
  3.  
  4. data() { 
  5.         return { 
  6.             value: '222' 
  7.         } 
  8.     } 

number

3.number

number修飾符的作用是將值轉成數字,但是先輸入字符串和先輸入數字,是兩種情況

  1. <input type="text" v-model.number="value"
  2. <div>{{value}}</div> 
  3.  
  4. data() { 
  5.         return { 
  6.             value: '222' 
  7.         } 
  8.     } 

先輸入數字的話,只取前面數字部分

先輸入字母的話,number修飾符無效

number2

4.stop

stop修飾符的作用是阻止冒泡

  1. <div @click="clickEvent(2)" style="width:300px;height:100px;background:red"
  2.     <button @click.stop="clickEvent(1)">點擊</button> 
  3. </div> 
  4.  
  5. methods: { 
  6.         clickEvent(num) { 
  7.             不加 stop 點擊按鈕輸出 1 2 
  8.             加了 stop 點擊按鈕輸出 1 
  9.             console.log(num) 
  10.         } 
  11.     } 

5.capture

事件默認是由里往外冒泡,capture修飾符的作用是反過來,由外網內捕獲

  1. <div @click.capture="clickEvent(2)" style="width:300px;height:100px;background:red"
  2.     <button @click="clickEvent(1)">點擊</button> 
  3. </div> 
  4.  
  5. methods: { 
  6.         clickEvent(num) { 
  7.             不加 capture 點擊按鈕輸出 1 2 
  8.             加了 capture 點擊按鈕輸出 2 1 
  9.             console.log(num) 
  10.         } 
  11.     } 

6.self

self修飾符作用是,只有點擊事件綁定的本身才會觸發事件

  1. <div @click.self="clickEvent(2)" style="width:300px;height:100px;background:red"
  2.     <button @click="clickEvent(1)">點擊</button> 
  3. </div> 
  4.  
  5. methods: { 
  6.         clickEvent(num) { 
  7.             不加 self 點擊按鈕輸出 1 2 
  8.             加了 self 點擊按鈕輸出 1 點擊div才會輸出 2 
  9.             console.log(num) 
  10.         } 
  11.     } 

7.once

once修飾符的作用是,事件只執行一次

  1. <div @click.once="clickEvent(2)" style="width:300px;height:100px;background:red"
  2.     <button @click="clickEvent(1)">點擊</button> 
  3. </div> 
  4.  
  5. methods: { 
  6.         clickEvent(num) { 
  7.             不加 once 多次點擊按鈕輸出 1 
  8.             加了 once 多次點擊按鈕只會輸出一次 1  
  9.             console.log(num) 
  10.         } 
  11.     } 

8.prevent

prevent修飾符的作用是阻止默認事件(例如a標簽的跳轉)

 

  1. <a href="#" @click.prevent="clickEvent(1)">點我</a> 
  2.  
  3. methods: { 
  4.         clickEvent(num) { 
  5.             不加 prevent 點擊a標簽 先跳轉然后輸出 1 
  6.             加了 prevent 點擊a標簽 不會跳轉只會輸出 1 
  7.             console.log(num) 
  8.         } 
  9.     } 

 

9.native

native修飾符是加在自定義組件的事件上,保證事件能執行

 

  1. 執行不了 
  2. <My-component @click="shout(3)"></My-component> 
  3.  
  4. 可以執行 
  5. <My-component @click.native="shout(3)"></My-component> 

 

10.left,right,middle

這三個修飾符是鼠標的左中右按鍵觸發的事件

 

  1. <button @click.middle="clickEvent(1)"  @click.left="clickEvent(2)"  @click.right="clickEvent(3)">點我</button> 
  2.  
  3. methods: { 
  4.         點擊中鍵輸出1 
  5.         點擊左鍵輸出2 
  6.         點擊右鍵輸出3 
  7.         clickEvent(num) { 
  8.             console.log(num) 
  9.         } 
  10.     } 

 

11.passive

當我們在監聽元素滾動事件的時候,會一直觸發onscroll事件,在pc端是沒啥問題的,但是在移動端,會讓我們的網頁變卡,因此我們使用這個修飾符的時候,相當于給onscroll事件整了一個.lazy修飾符

 

  1. <div @scroll.passive="onScroll">...</div> 

12.camel

 

  1. 不加camel viewBox會被識別成viewbox 
  2. <svg :viewBox="viewBox"></svg> 
  3.  
  4. 加了canmel viewBox才會被識別成viewBox 
  5. <svg :viewBox.camel="viewBox"></svg> 

 

13.sync

當父組件傳值進子組件,子組件想要改變這個值時,可以這么做

 

  1. 父組件里 
  2. <children :foo="bar" @update:foo="val => bar = val"></children> 
  3.  
  4. 子組件里 
  5. this.$emit('update:foo', newValue) 

 

sync修飾符的作用就是,可以簡寫:

 

  1. 父組件里 
  2. <children :foo.sync="bar"></children> 
  3.  
  4. 子組件里 
  5. this.$emit('update:foo', newValue) 

 

14.keyCode

當我們這么寫事件的時候,無論按什么按鈕都會觸發事件

  1. <input type="text" @keyup="shout(4)"

那么想要限制成某個按鍵觸發怎么辦?這時候keyCode修飾符就派上用場了

  1. <input type="text" @keyup.keyCode="shout(4)"

Vue提供的keyCode:

 

  1. //普通鍵 
  2. .enter  
  3. .tab 
  4. .delete //(捕獲“刪除”和“退格”鍵) 
  5. .space 
  6. .esc 
  7. .up 
  8. .down 
  9. .left 
  10. .right 
  11. //系統修飾鍵 
  12. .ctrl 
  13. .alt 
  14. .meta 
  15. .shift 

 

例如(具體的鍵碼請看鍵碼對應表)

 

  1. 按 ctrl 才會觸發 
  2. <input type="text" @keyup.ctrl="shout(4)"
  3.  
  4. 也可以鼠標事件+按鍵 
  5. <input type="text" @mousedown.ctrl.="shout(4)"
  6.  
  7. 可以多按鍵觸發 例如 ctrl + 67 
  8. <input type="text" @keyup.ctrl.67="shout(4)"

 

 

責任編輯:武曉燕 來源: 前端之神
相關推薦

2024-03-25 11:03:38

Vue修飾符lazy

2021-11-08 09:18:01

CAS面試場景

2021-12-25 22:31:10

MarkWord面試synchronize

2021-12-16 18:38:13

面試Synchronize

2021-12-02 18:20:25

算法垃圾回收

2009-08-24 16:49:39

C#修飾符

2024-11-29 08:11:27

2021-03-24 10:25:24

優化VUE性能

2022-06-29 16:59:21

Vue3Vue2面試

2018-05-10 15:48:47

面試面試官Java

2016-03-02 15:13:54

面試開發者問題

2020-07-28 00:58:20

IP地址子網TCP

2025-06-03 07:05:00

Linux操作系統Windows

2024-03-13 13:39:21

2010-08-23 15:06:52

發問

2021-01-06 05:36:25

拉鏈表數倉數據

2023-05-05 07:34:48

事件修飾符Vue應用

2022-01-05 09:55:26

asynawait前端

2021-05-27 07:14:52

ZooKeeper節點類型

2023-12-29 09:01:27

SwiftUI視圖修飾符
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久 | 亚洲精品欧美一区二区三区 | 国产在线拍偷自揄拍视频 | 香蕉久久a毛片 | 91视频免费黄 | 青青草国产在线观看 | 成人片免费看 | 亚洲精品久久久久中文字幕欢迎你 | www.97zyz.com | 午夜爽爽爽男女免费观看影院 | 亚洲黄色高清视频 | 亚洲精品久久久久久久久久久 | 福利视频网 | 狠狠久 | 91av久久久| 久久久噜噜噜www成人网 | 久久精品a | 亚洲国产精品一区二区久久 | 国产一区二区三区四区在线观看 | 日韩在线不卡 | 日本午夜网 | 99福利视频| 亚洲精品在线免费 | 免费一级欧美在线观看视频 | 久久精品国产久精国产 | 波多野结衣电影一区 | 成人av免费 | 欧美一级片在线播放 | 高清色| 免费精品| 欧美激情一区二区三区 | 中文字幕一区二区三区乱码在线 | 国产视频福利一区 | 国产欧美一区二区三区久久人妖 | 成人午夜视频在线观看 | 欧美中文在线 | 97久久久久久 | 99看片网| 免费黄色大片 | 丁香五月网久久综合 | 亚洲视频免费在线 |