真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue.js中怎么實(shí)現(xiàn)數(shù)據(jù)綁定操作-創(chuàng)新互聯(lián)

這篇文章給大家介紹vue.js中怎么實(shí)現(xiàn)數(shù)據(jù)綁定操作,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大通免費(fèi)建站歡迎大家使用!

數(shù)據(jù)綁定

響應(yīng)式的數(shù)據(jù)綁定系統(tǒng)。建立綁定之后,DOM將和數(shù)據(jù)保持同步,無須手動(dòng)維護(hù)DOM。使代碼能夠更加簡(jiǎn)潔易懂、提升效率。

數(shù)據(jù)綁定語法

1.文本插值

{{ }}Mustache標(biāo)簽

Hello {{ name }}
data:{
    name: 'vue'
}
== > Hello vue

單次插值

首次賦值后再更改vm實(shí)例屬性值不會(huì)引起DOM的變化

{{ name }}

2.HTML屬性

Mustache標(biāo)簽{{ }}

簡(jiǎn)寫:

3.綁定表達(dá)式

放在Mustache標(biāo)簽內(nèi)的文本內(nèi)容。除了直接輸出屬性值之外,一段綁定表達(dá)式可以由一個(gè)簡(jiǎn)單的JavaScript表達(dá)式和可選的一個(gè)或多個(gè)過濾器構(gòu)成(不支持正則表達(dá)式,若需要復(fù)雜的轉(zhuǎn)換,則使用過濾器或者計(jì)算屬性來進(jìn)行處理)。

{{ index + 1}}
{{ index == 0 ? 'a' : 'b' }}
{{name.split('').join('|') }}
{{ var a = 1 }} //無效

4.過濾器

vue.js允許在表達(dá)式后添加可選的過濾器,以管道符"|"指示。

{{ name | uppercase }} // Vue.js將name的值傳入給uppercase這個(gè)內(nèi)置的過濾器中(本質(zhì)是一個(gè)函數(shù)),返回字符串的大寫值。
{{ name | filterA | filterB }}  //多個(gè)過濾器鏈?zhǔn)绞褂?{{ name | filterA arg1 arg2 }} //傳入多個(gè)參數(shù)

此時(shí),filterA將name的值做為第一個(gè)參數(shù),arg1,arg2做為第二、第三個(gè)參數(shù)傳入過濾器函數(shù)中。

最終函數(shù)的返回值即為輸出結(jié)果。arg1,arg2可以使用表達(dá)式,也可以加上單引號(hào),直接傳入字符串。

例如:

{{ name.split('') | limitBy 3 1 }} // ->u,e

過濾器limitBy可以接受兩個(gè)參數(shù),第一個(gè)參數(shù)是設(shè)置顯示個(gè)數(shù),第二個(gè)參數(shù)為可選,指從開始元素的數(shù)組下標(biāo)。

vue.js內(nèi)置的10個(gè)過濾器(Vue.js2.0中去除)

capitalize:字符串首字符轉(zhuǎn)化為大寫。
uppercase:字符串轉(zhuǎn)化為大寫。
lowercase:字符串轉(zhuǎn)化為小寫。
currency:參數(shù)為{String}[貨幣符號(hào)],{Number}[小數(shù)位],將數(shù)字轉(zhuǎn)化成貨幣符號(hào),并且會(huì)自動(dòng)添加數(shù)字分節(jié)號(hào)。

{{ amount | currency '¥' 2 }} //若amount值為1000,則輸出為¥1,000.00

pluralize:參數(shù)為{String}single,[double,triple],字符串復(fù)數(shù)化。

{{ c | pluralize 'item' }} {{ c | pliralize 'st' 'nd' 'rd' 'th' }} 

//輸出結(jié)果:
1item 1st
2items 2nd
3items 3rd
4items 4th

json:參數(shù)為{Number}[indent]空格縮進(jìn)數(shù),將json對(duì)象數(shù)據(jù)輸出成符合json格式的字符串。

debounce:傳入值必須是函數(shù),參數(shù)可選,為{Number}[wait],即延時(shí)時(shí)長(zhǎng)。作用是當(dāng)調(diào)用函數(shù)n毫秒后,才會(huì)執(zhí)行該動(dòng)作。

 //input元素上監(jiān)聽了keyup事件,并且延遲500ms觸發(fā)

limitBy:傳入值必須是數(shù)組,參數(shù)為{Number}limit,{Number}[offset],limit為顯示個(gè)數(shù),offset為開始顯示數(shù)組下標(biāo)。

 //items為數(shù)組,且只顯示數(shù)組中的前十個(gè)元素

filterBy:傳入值必須是數(shù)組,參數(shù)為{String | Function}targetStringOrFunction,即需要匹配的字符串或函數(shù);"in"可選分隔符。{String}[...searchKeys],為檢索的屬性區(qū)域。

{{ name }}

 //檢索names數(shù)組中值包含1.0的元素 {{ item | json }}

 //檢索items中元素屬性name值為1.0的元素輸出。檢索區(qū)域也可以為數(shù)組,即in [name,version],在多個(gè)屬性中進(jìn)行檢索。
//輸出結(jié)果
vue1.0
{"name":"vue1.0","version":"1.0"}

使用自定義的過濾函數(shù),函數(shù)可以在選項(xiàng)methods中定義

orderBy:傳入值必須是數(shù)組,參數(shù)為{String|Array|Function}sortKeys,即指定排序的策略。

單個(gè)鍵名:

{{ item.name}}

 //items數(shù)組中以鍵名name進(jìn)行降序排列

多個(gè)鍵名:

{{item.name}}

 //使用items里的兩個(gè)鍵名進(jìn)行排序

自定義排序函數(shù):

{{item.name}}

methods:{   customOrder: function(a,b){     return parseFloat(a.version) > parseFloat(b.version) //對(duì)比item中version的值的大小進(jìn)行排序   } }

5.指令

指令的值限定為綁定表達(dá)式,即當(dāng)表達(dá)式的值發(fā)生改變時(shí),會(huì)有些特殊行為作用到綁定的DOM上。

參數(shù):src為參數(shù)

 <==>  

修飾符:以半角句號(hào).開始的特殊后綴,用于表示指令應(yīng)該以特殊方式綁定。

 //stop:停止冒泡。相當(dāng)于調(diào)用了e.stopPropagagation().

計(jì)算屬性

避免在模板中加入過重的業(yè)務(wù)邏輯,保證模版的結(jié)構(gòu)清晰和可維護(hù)性。

1.基礎(chǔ)例子

var vm = new Vue({
    el: '#app',
    data: {
      firstName:'Gavin',
      lastName:'CLY'
    },
    computed: {
      fullName:function(){
        //this指向vm實(shí)例
        return this.firstName + ' ' + this.lastName;
      }
    }
})

{{ firstName }}

  //Gavin

{{ lastName }}

  //CLY

{{ fullName }}

  //Gavin CLY

注:此時(shí)對(duì)vm.firstNamevm.lastName進(jìn)行修改,始終會(huì)影響vm.fullName。

2.Setter

更新屬性時(shí)帶來便利

var vm = new Vue({
    el:'#el',
    data:{
      cents:100
    },
    computed:{
      price:{
        set:function(newValue) {
          this.cents = newValue * 100;
        },
        get:function(){
          return (this.cents / 100).toFixed(2);
        }
      }
    }
})

表單控件

v-model:對(duì)表單元素進(jìn)行雙向數(shù)據(jù)綁定,在修改表單元素值時(shí),實(shí)例vm中對(duì)應(yīng)的屬性值也同時(shí)更新,反之亦然。

var vm = new Vue({
    el:'#app',
    data: {
      message: '',
      gender: '',
      cheched: '',
      multiChecked: '',
      a: 'checked',
      b: 'checked'
    }
})

1. Text

輸入框示例,用戶輸入的內(nèi)容和vm.message直接綁定:


Your input is : {{ message }} 

2. Radio

單選框示例:

3.Checkbox

單個(gè)勾選框,v-model即為布爾值,此時(shí)Input的value并不影響v-model的值。


checked: {{ checked }}  //顯示的是true/false

多個(gè)勾選框,v-model使用相同的屬性名稱,且屬性為數(shù)組。




MultiChecked:{{ multiChecked.join{'|'} }}

 //multiChecked:1|2

4.Select

單選


  A
  
  

Selected: {{ selected }}

多選


  A
  
  

MultiSelected: {{ multiSelected.join('|') }}

5.綁定value

通過v-bind實(shí)現(xiàn),表單控件的值綁定到Vue市里的動(dòng)態(tài)屬性上。

Checkbox

選中:

vm.checked == vm.a  //=> true

未選中:

vm.checked == vm.b //=>true

Radio

選中:

vm.checked == vm.a //=> true

3.Select Options


    
    123

選中:

typeof vm.selected //=> object
vm.selected.number //=> 123

6.參數(shù)特性

.lazy:默認(rèn)情況下,v-model在input事件中同步輸入框與數(shù)據(jù),加lazy屬性后會(huì)在change事件中同步。


.number:自動(dòng)將用戶輸入轉(zhuǎn)為Number類型,如果原值轉(zhuǎn)換結(jié)果為NaN,則返回原值。

.trim:如果要自動(dòng)過濾用戶輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入

Class與Style綁定

1.Class綁定

對(duì)象語法:v-bind:class接受參數(shù)是一個(gè)對(duì)象,而且可以與普通的class屬性共存。

vm實(shí)例中需要包含:

data:{
  active:true
}

渲染結(jié)果為:

數(shù)組語法:v-bind:class也接受數(shù)組作為參數(shù)。

vm實(shí)例中需要包括:

data:{
  classA:"class-a",
  classB:"class-b"
}

渲染結(jié)果為:

使用三元表達(dá)式切換數(shù)組中的class

vm.isB = false

則渲染結(jié)果為

2.內(nèi)聯(lián)樣式綁定(style屬性綁定)

對(duì)象語法:直接綁定符合樣式格式的對(duì)象。

vm實(shí)例中包含:

data:{
  alertStyle:{
    color: 'red',
    fontSize: '2px'
  }
}

數(shù)組語法:v-bind:style允許將多個(gè)樣式對(duì)象綁定到同一元素上。

3.自動(dòng)添加前綴

在使用transform這類屬性時(shí),v-bind:style會(huì)根據(jù)需要自動(dòng)添加廠商前綴。:style在運(yùn)行時(shí)進(jìn)行前綴探測(cè),如果瀏覽器版本本省就不支持不加前綴的css屬性,那就不會(huì)添加。

關(guān)于vue.js中怎么實(shí)現(xiàn)數(shù)據(jù)綁定操作就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享名稱:vue.js中怎么實(shí)現(xiàn)數(shù)據(jù)綁定操作-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://weahome.cn/article/depsid.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部