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

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

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

一、什么是語法糖?

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

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

二、VUE中語法糖有哪些?

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

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

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

使用案例:

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

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

2、v-bind 的語法糖

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

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

// 語法糖寫法
<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 的語法糖,就是簡寫成@ 。

情況1:如果方法不傳參時,可以不加小括號。

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

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

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

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

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

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

4、修飾符

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

示例:鏈接添加點擊事件,點擊之后不希望跳轉(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、動態(tài)css

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

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

    6、注冊組件語法糖

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

    全局組件使用:

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

    局部組件使用:

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

/* 局部組件注冊 */
//注冊組件
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

    vue項目及axios請求獲取數(shù)據(jù)方式

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

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

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

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

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

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

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

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

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

    Vue項目依賴包安裝及配置過程

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

    詳解Vue生命周期的示例

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

    Vue中的事件處理詳情

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

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

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

最新評論

葫芦岛市| 湖州市| 博湖县| 辽源市| 东光县| 类乌齐县| 花莲市| 西峡县| 辽宁省| 吐鲁番市| 灵川县| 宁阳县| 津南区| 铜陵市| 布尔津县| 兴文县| 绥江县| 庆安县| 汉川市| 阿坝县| 土默特左旗| 泉州市| 城固县| 利津县| 广州市| 阳西县| 富宁县| 会东县| 烟台市| 白河县| 夏河县| 乌鲁木齐县| 扬州市| 北辰区| 伽师县| 岐山县| 江阴市| 中西区| 余庆县| 南皮县| 镇雄县|