欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

傳說(shuō)中VUE的語(yǔ)法糖到底是做什么的

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

一、什么是語(yǔ)法糖?

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

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

二、VUE中語(yǔ)法糖有哪些?

1、最常見(jiàn)的語(yǔ)法糖 v-model

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

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

使用案例:

//語(yǔ)法糖寫(xiě)法
<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 的語(yǔ)法糖

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

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

// 語(yǔ)法糖寫(xiě)法
<div :title="title">
 <img :src="url" alt="">
 <a :href="link" rel="external nofollow"  rel="external nofollow" >沒(méi)有語(yǔ)法糖</a>
</div>

// 沒(méi)有語(yǔ)法糖
<div v-bind:title="title">
 <img v-bind:src="url" alt="">
 <a v-bind:href="link" rel="external nofollow"  rel="external nofollow" >沒(méi)有語(yǔ)法糖</a>
</div>

3、v-on 的語(yǔ)法糖

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

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

<button @click="btn">語(yǔ)法糖</button>

<button v-on:click="btn">無(wú)語(yǔ)法糖</button>

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

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

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

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

4、修飾符

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

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

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

//普通寫(xiě)法
<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>

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

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

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

    使用 v-bind 可以通過(guò) 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è)組件語(yǔ)法糖

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

    全局組件使用:

    //全局組件語(yǔ)法糖寫(xiě)法
    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)

    局部組件使用:

//全局組件語(yǔ)法糖寫(xiě)法
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)于傳說(shuō)中 VUE 的“語(yǔ)法糖”到底是啥的文章就介紹到這了,更多相關(guān)vue語(yǔ)法糖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解keep-alive + vuex 讓緩存的頁(yè)面靈活起來(lái)

    詳解keep-alive + vuex 讓緩存的頁(yè)面靈活起來(lái)

    這篇文章主要介紹了keep-alive + vuex 讓緩存的頁(yè)面靈活起來(lái),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue+element-ui?校驗(yàn)開(kāi)始時(shí)間與結(jié)束時(shí)間的實(shí)現(xiàn)代碼

    vue+element-ui?校驗(yàn)開(kāi)始時(shí)間與結(jié)束時(shí)間的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue+element-ui?校驗(yàn)開(kāi)始時(shí)間與結(jié)束時(shí)間的代碼實(shí)現(xiàn),最主要的需求是開(kāi)始時(shí)間不能早于當(dāng)前時(shí)間,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 詳解Vue內(nèi)部怎樣處理props選項(xiàng)的多種寫(xiě)法

    詳解Vue內(nèi)部怎樣處理props選項(xiàng)的多種寫(xiě)法

    這篇文章主要介紹了詳解Vue內(nèi)部怎樣處理props選項(xiàng)的多種寫(xiě)法,詳細(xì)的介紹了props的使用的寫(xiě)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 淺談VUE uni-app 基礎(chǔ)組件

    淺談VUE uni-app 基礎(chǔ)組件

    這篇文章主要介紹了uni-app 的基礎(chǔ)組件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • vue項(xiàng)目中各文件的使用說(shuō)明

    vue項(xiàng)目中各文件的使用說(shuō)明

    這篇文章主要介紹了vue項(xiàng)目中各文件的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue和relation-graph庫(kù)打造高質(zhì)量的關(guān)系圖應(yīng)用程序

    Vue和relation-graph庫(kù)打造高質(zhì)量的關(guān)系圖應(yīng)用程序

    這篇文章主要介紹了Vue和relation-graph庫(kù)打造高質(zhì)量的關(guān)系圖應(yīng)用程序,在這篇文章中,我們深入探討了如何使用Vue和relation-graph高效打造關(guān)系圖,我們?cè)敿?xì)介紹了數(shù)據(jù)準(zhǔn)備、關(guān)系映射、點(diǎn)擊事件等關(guān)鍵步驟,需要的朋友可以參考下
    2023-09-09
  • vant-ui框架的一個(gè)bug(解決切換后onload不觸發(fā))

    vant-ui框架的一個(gè)bug(解決切換后onload不觸發(fā))

    這篇文章主要介紹了vant-ui框架的一個(gè)bug(解決切換后onload不觸發(fā)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue3-pinia-ts項(xiàng)目中的使用示例詳解

    vue3-pinia-ts項(xiàng)目中的使用示例詳解

    這篇文章主要介紹了vue3-pinia-ts項(xiàng)目中的使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Vue中引用JSON數(shù)據(jù)的方法小結(jié)

    Vue中引用JSON數(shù)據(jù)的方法小結(jié)

    在現(xiàn)代Web開(kāi)發(fā)中,JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,Vue.js作為一個(gè)流行的前端框架,支持多種方式引入和處理JSON數(shù)據(jù),本文將詳細(xì)介紹幾種在Vue中引用JSON數(shù)據(jù)的方法,需要的朋友可以參考下
    2024-10-10
  • vue后臺(tái)項(xiàng)目如何使用router.addRoutes動(dòng)態(tài)加入路由的思路

    vue后臺(tái)項(xiàng)目如何使用router.addRoutes動(dòng)態(tài)加入路由的思路

    這篇文章主要介紹了vue后臺(tái)項(xiàng)目如何使用router.addRoutes動(dòng)態(tài)加入路由的思路,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論