最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

傳說中VUE的語法糖到底是做什么的

 更新時(shí)間:2021年09月24日 15:26:57   作者:前端人  
從接觸Vue我們就知道 v-model是實(shí)現(xiàn)數(shù)據(jù)雙向綁定的那他能實(shí)現(xiàn)綁定的原理到底是啥?最常見的語法糖 v-model,今天通過案例給大家詳細(xì)介紹下,需要的朋友參考下吧

一、什么是語法糖?

語法糖也譯為糖衣語法,是由英國(guó)計(jì)算機(jī)科學(xué)家彼得·約翰·蘭達(dá)(Peter J. Landin)發(fā)明的一個(gè)術(shù)語。指的是計(jì)算機(jī)語言中添加的一種語法,在不影響功能的情況下,添加某種簡(jiǎn)單的語法也能實(shí)現(xiàn)效果,這種語法對(duì)計(jì)算機(jī)沒有任何影響,但是對(duì)于程序員更方便,通常增加的語法糖能夠增加程序員的可讀性,減少出錯(cuò)的機(jī)會(huì)。

使用語法糖可以簡(jiǎn)化代碼,更便于程序員開發(fā)。

二、VUE中語法糖有哪些?

1、最常見的語法糖 v-model

使用 v-model 可以實(shí)現(xiàn)數(shù)據(jù)雙向綁定,但是如何實(shí)現(xiàn)的呢?

v-model 綁定數(shù)據(jù)之后,既綁定了數(shù)據(jù),又添加了事件監(jiān)聽,這個(gè)事件就是 input 事件。

使用案例:

//語法糖寫法
<input type="text" v-model="name" >
  
  //還原為以下實(shí)例
<input type="text" 
 v-bind:value="name" 
 v-on:input="name=$event.target.value">

輸入的時(shí)候會(huì)觸發(fā) input 事件,input 事件會(huì)把當(dāng)前值賦值給 value ,這就是 v-model 為什么可以實(shí)現(xiàn)雙向綁定的原因。

2、v-bind 的語法糖

v-bind 用來添加動(dòng)態(tài)屬性的,常見的 src、href、class、style、title 等屬性都可以通過 v-bind 添加動(dòng)態(tài)屬性值。

v-bind 的語法糖就是去掉 v-bind 替換成冒號(hào) (:)

// 語法糖寫法
<div :title="title">
 <img :src="url" alt="">
 <a :href="link" rel="external nofollow"  rel="external nofollow" >沒有語法糖</a>
</div>

// 沒有語法糖
<div v-bind:title="title">
 <img v-bind:src="url" alt="">
 <a v-bind:href="link" rel="external nofollow"  rel="external nofollow" >沒有語法糖</a>
</div>

3、v-on 的語法糖

v-on 綁定事件監(jiān)聽器的,v-on 的語法糖,就是簡(jiǎn)寫成@ 。

情況1:如果方法不傳參時(shí),可以不加小括號(hào)。

<button @click="btn">語法糖</button>

<button v-on:click="btn">無語法糖</button>

//需要注意的是,如果方法本身有一個(gè)參數(shù),會(huì)默認(rèn)將原生的事件event參數(shù)傳遞進(jìn)來
methods:{
 btn( event ){
  console.log( 'event' , event )
 }
}

情況2:如果需要傳遞參數(shù)時(shí),又同時(shí)需要 event 參數(shù)。

<button @click="btn( '點(diǎn)擊事件' , $event )">語法糖</button>

//需要注意的是,$event 事件拿到瀏覽器事件對(duì)象
methods:{
 btn( type, event ){
  console.log( 'type' , type ) //點(diǎn)擊事件
  console.log( 'event' , event )
 }
}

4、修飾符

修飾符是以半角句號(hào) . 指明的特殊后綴。v-on 后面的修飾符,也是語法糖。

示例:鏈接添加點(diǎn)擊事件,點(diǎn)擊之后不希望跳轉(zhuǎn)。

//語法糖
<a  rel="external nofollow"  rel="external nofollow"  @click.prevent="go">百度</a>

//普通寫法
<a  rel="external nofollow"  rel="external nofollow"  v-on:click="go">百度</a>
methods:{
 go(e){
  e.preventDefault();
  console.log('阻止鏈接跳轉(zhuǎn)')
 }
}

prevent 修飾符是阻止默認(rèn)事件。還有 submit 同樣也適用。

<form @submit.prevent="onSubmit"></form>

下列是常見的修飾符,與上邊 .prevent 使用相同。

  • .stop 用來阻止事件冒泡。
  • .once 事件只觸發(fā)一次。
  • .self 事件只在自身觸發(fā),不能從內(nèi)部觸發(fā)。
  • .enter | .tab | .delete | .esc ..... 鍵盤修飾符
  • .ctr | .alt | .shift | .meta 系統(tǒng)修飾符

    5、動(dòng)態(tài)css

    使用 v-bind 可以通過 style 或 class, 可以添加動(dòng)態(tài)樣式。

    //點(diǎn)擊 你好,實(shí)現(xiàn)文字紅黑之間切換
    <h1 @click=" changeColor = !changeColor " :style="{color:changeColor?'red':'black'}">
     你好
    </h1>
    
    data:{
      changeColor:false
    }

    6、注冊(cè)組件語法糖

    所謂的注冊(cè)組件語法糖是指省去組件構(gòu)造器的定義,直接將組件構(gòu)造器對(duì)象傳入注冊(cè)組件函數(shù)里,這樣會(huì)減少 CPU 的調(diào)度以及內(nèi)存的分配。

    全局組件使用:

    //全局組件語法糖寫法
    Vue.component(
      'my-component' , 
      template:`
      	<div>組件內(nèi)容</div>
      `)
    
    /* 全局組件注冊(cè) */
    //組件使用
    <my-component></my-component>
    //注冊(cè)組件
    const myComponent = Vue.extend({
     template:`
      <div>
       <h2>VUkeh</h2>    
      </div>
      `
    })
    Vue.component('myComponent', myComponent)

    局部組件使用:

//全局組件語法糖寫法
components:{
  'my-component':{
  	template:`<div>組件內(nèi)容</div>`
  }
}

/* 局部組件注冊(cè) */
//注冊(cè)組件
const myComponent = Vue.extend({
 template:`
  <div>
   <h2>VUkeh</h2>    
  </div>
  `,
  components:{
  	child:{
     template:`<div>子組件內(nèi)容</div>`
    }
  }
})
Vue.component('myComponent', myComponent)

到此這篇關(guān)于傳說中 VUE 的“語法糖”到底是啥的文章就介紹到這了,更多相關(guān)vue語法糖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中swiper開啟loop后,點(diǎn)擊事件不響應(yīng)的解決方案

    vue中swiper開啟loop后,點(diǎn)擊事件不響應(yīng)的解決方案

    這篇文章主要介紹了vue中swiper開啟loop后,點(diǎn)擊事件不響應(yīng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式

    vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式

    這篇文章主要介紹了vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue2文件流下載成功后文件格式錯(cuò)誤、打不開及內(nèi)容缺失的解決方法

    vue2文件流下載成功后文件格式錯(cuò)誤、打不開及內(nèi)容缺失的解決方法

    使用Vue時(shí)我們前端如何處理后端返回的文件流,下面這篇文章主要給大家介紹了關(guān)于vue2文件流下載成功后文件格式錯(cuò)誤、打不開及內(nèi)容缺失的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • vue2基本響應(yīng)式實(shí)現(xiàn)方式之讓數(shù)組也變成響應(yīng)式

    vue2基本響應(yīng)式實(shí)現(xiàn)方式之讓數(shù)組也變成響應(yīng)式

    這篇文章主要介紹了vue2基本響應(yīng)式實(shí)現(xiàn)方式之讓數(shù)組也變成響應(yīng)式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • VUE配置proxy代理的開發(fā)測(cè)試及生產(chǎn)環(huán)境

    VUE配置proxy代理的開發(fā)測(cè)試及生產(chǎn)環(huán)境

    這篇文章主要為大家介紹了VUE配置proxy代理的開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 淺談VueUse中useAsyncState的實(shí)現(xiàn)原理

    淺談VueUse中useAsyncState的實(shí)現(xiàn)原理

    useAsyncState?是 VueUse 庫中提供的一個(gè)實(shí)用工具,它用于處理異步狀態(tài),本文主要介紹了VueUse中useAsyncState的實(shí)現(xiàn)及其原理,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • Vue項(xiàng)目依賴包安裝及配置過程

    Vue項(xiàng)目依賴包安裝及配置過程

    這篇文章主要介紹了Vue項(xiàng)目依賴包安裝及配置過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • 詳解Vue生命周期的示例

    詳解Vue生命周期的示例

    本篇文章主要介紹了詳解Vue生命周期的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • Vue中的事件處理詳情

    Vue中的事件處理詳情

    這篇文章主要介紹了Vue中的事件處理詳情,文章通過給按鈕綁定一個(gè)?click?事件展開詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-05-05
  • 一篇文章帶你搞懂Vue虛擬Dom與diff算法

    一篇文章帶你搞懂Vue虛擬Dom與diff算法

    這篇文章主要給大家介紹了關(guān)于Vue虛擬Dom與diff算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

巧家县| 全南县| 桐庐县| 无为县| 剑河县| 清徐县| 行唐县| 静乐县| 淮南市| 上犹县| 平江县| 富阳市| 法库县| 兴安盟| 宜君县| 苗栗县| 敖汉旗| 彝良县| 抚州市| 南木林县| 深泽县| 奉节县| 宜兴市| 萨迦县| 长沙县| 永年县| 乐至县| 黑龙江省| 民和| 宾阳县| 额尔古纳市| 灵寿县| 庐江县| 淅川县| 富顺县| 佛冈县| 永清县| 若羌县| 台东县| 林甸县| 巴楚县|