Vue簡(jiǎn)明介紹配置對(duì)象的配置選項(xiàng)
一、methods
一般事件調(diào)用的函數(shù)都會(huì)在methods函數(shù)里面屬性進(jìn)行定義,在methods屬性進(jìn)行定義的函數(shù),我們也可以稱之為方法,一般作為事件的回調(diào)函數(shù)進(jìn)行使用。這個(gè)被調(diào)用幾次就能被執(zhí)行幾次。
我們可以通過實(shí)例代碼來(lái)更好的理解我們這個(gè)實(shí)例:
實(shí)例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<title>methods</title>
</head>
<body>
<div id="app">
水果價(jià)格:<input type="text" v-model.munber="price" @keyup="sum()">元/斤</br>
數(shù)量:<input type="text" v-model="count" @change="sum()">斤</br>
總計(jì):<input type="text" v-model="total" >元</br>
</div>
<script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
var vm = new Vue({
el:'#app',
data:{
price:0,
count:1,
total:0,
},
methods:{
sum(){
this.total = this.price*this.count;
}
}
})
</script>
</body>
</html>運(yùn)行結(jié)果:

我們可以看到,當(dāng)數(shù)量和價(jià)格改變的時(shí)候,我們就要重新計(jì)算一下總計(jì)的錢,這個(gè)時(shí)候就要對(duì)價(jià)格和數(shù)量的改變進(jìn)行監(jiān)聽,這樣才能計(jì)算出總得價(jià)格;因?yàn)樵趍ethods里面屬性已經(jīng)定義了sum的計(jì)算方法,總和的計(jì)算公式,在change和keyup兩個(gè)事假觸發(fā)被調(diào)用的時(shí)候。數(shù)據(jù)就會(huì)被發(fā)生改變,從而代碼執(zhí)行sum里面的計(jì)算方法。
二、computer計(jì)算屬性
為什么會(huì)有這個(gè)計(jì)算屬性呢?因?yàn)樵趘ue中,為了將邏輯進(jìn)行簡(jiǎn)化,當(dāng)某一個(gè)值過于依賴其他的屬性值的時(shí)候,vue會(huì)提供計(jì)算屬性來(lái)供代碼使用。這個(gè)計(jì)算屬性適用于執(zhí)行復(fù)雜的表達(dá)式,應(yīng)為這些復(fù)雜的表達(dá)式往往很長(zhǎng)且繁瑣的重復(fù)使用。
可以直接寫計(jì)算屬性可以調(diào)用計(jì)算屬性,跟別的屬性的使用方法一樣。
實(shí)例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<title>methods</title>
</head>
<body>
<div id="app">
水果價(jià)格:<input type="text" v-model.munber="price" @keyup="sum()">元/斤</br>
數(shù)量:<input type="text" v-model="count" @change="sum()">斤</br>
總計(jì):<input type="text" v-model="total" >元</br>
</div>
<script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
var app = new Vue({
el:'#app',
data:{
price:0,
count:1,
},
computed:{
total:function(){
return this.price*this.count
}
}
})
</script>
</body>
</html>運(yùn)行結(jié)果:

計(jì)算屬性的函數(shù)的返回結(jié)果可以直接賦給到計(jì)算的屬性名,計(jì)算屬性只有依賴的數(shù)據(jù)發(fā)生變化的時(shí)候才能重新計(jì)算,依賴數(shù)據(jù)不改變的情況下,第一次計(jì)算的結(jié)果會(huì)緩存起來(lái),下次直接使用。
三、watch
watch可以用來(lái)監(jiān)聽data對(duì)象屬性或計(jì)算屬性里的變化,是用來(lái)偵聽數(shù)據(jù)的變化,當(dāng)數(shù)據(jù)變化的時(shí)候,可以處理一些事務(wù)。
watch的值是一個(gè)對(duì)象,對(duì)象的屬性是要偵聽的屬性,是要需要觀察表達(dá)式,它的值是一個(gè)回調(diào)的值、方法名或者對(duì)象。
實(shí)例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<title>methods</title>
</head>
<body>
<div id="app">
水果價(jià)格:<input type="text" v-model.munber="price" >元/斤</br>
數(shù)量:<input type="number " v-model="count" >斤</br>
總計(jì):<input type="text" v-model="total" >元</br>
</div>
<script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
var app = new Vue({
el:'#app',
data:{
price:0,
count:1,
total:0,
},
watch:{
"price":function(newVal,oldVal){
return this.data=newVal*this.count;
},
"count":function(newVal,oldVal){
return this.total = this.price*newVal;
}
}
})
</script>
</body>
</html>運(yùn)行結(jié)果:

這個(gè)偵聽的過程是:當(dāng)調(diào)用watch,里面對(duì)象的每一個(gè)屬性,當(dāng)一個(gè)被偵聽的屬性的值發(fā)生變化的時(shí)候,觸發(fā)這個(gè)屬性的回調(diào)函數(shù)就會(huì)被執(zhí)行。
當(dāng)總計(jì)依賴于價(jià)格和數(shù)量,當(dāng)價(jià)格和數(shù)量發(fā)生變化的時(shí)候,總計(jì)也發(fā)生變化·。偵聽價(jià)格何和數(shù)量,變化就求和。偵聽和計(jì)算屬性的區(qū)別:計(jì)算屬性會(huì)保存結(jié)果,但是偵聽不會(huì)。
四、filter
這個(gè)filter稱為vue里面的過濾器,可以在輸出結(jié)果之前對(duì)數(shù)據(jù)進(jìn)行過濾,可以被用于一些常用的文本格式化。過濾器:一種模板內(nèi)用于數(shù)據(jù)處理的便捷方法,適用于字符串、數(shù)值、數(shù)字等設(shè)置顯示格式。
過濾器語(yǔ)法寫法:vue.filter('過濾器名',function(參數(shù)){函數(shù)體}),過濾器只在差值和v-bind表達(dá)式中進(jìn)行調(diào)用,被添加在表達(dá)式的尾部,使用“|”分開。簡(jiǎn)單的通過代碼來(lái)解釋:
代碼實(shí)例:
<!DOCTYPE html>
<html lang="en">
<head>
<title>methods</title>
</head>
<body>
<div id="app">
<h1>{{sum|f_int}}</h1>
<h1>{{sum|f_int|f_$('$')}}</h1>
</div>
<script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
Vue.filter('f_int',function(msg){
return Math.round(msg);
})
Vue.filter('f_$',function(msg,arg1){
return arg1+msg;
})
var app = new Vue({
el:'#app',
data:{
sum:86
},
})
</script>
</body>
</html>運(yùn)行結(jié)果:

到此這篇關(guān)于Vue簡(jiǎn)明介紹配置對(duì)象的配置選項(xiàng)的文章就介紹到這了,更多相關(guān)Vue配置對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
elementui實(shí)現(xiàn)表格自定義排序的示例代碼
本文主要介紹了elementui實(shí)現(xiàn)表格自定義排序的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
解決修復(fù)報(bào)錯(cuò)Error in render:TypeError:Cannot read&n
這篇文章主要介紹了解決修復(fù)報(bào)錯(cuò)Error in render:TypeError:Cannot read properties of undefined(reading ‘ipconfig‘)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
使用vue2.6實(shí)現(xiàn)抖音【時(shí)間輪盤】屏保效果附源碼
前段時(shí)間看抖音,有人用時(shí)間輪盤作為動(dòng)態(tài)的桌面壁紙,一時(shí)間成為全網(wǎng)最火的電腦屏保,后來(lái)小米等運(yùn)用市場(chǎng)也出現(xiàn)了【時(shí)間輪盤】,有點(diǎn)像五行八卦,感覺很好玩,于是突發(fā)奇想,自己寫一個(gè)網(wǎng)頁(yè)版小DEMO玩玩,需要的朋友可以參考下2019-04-04
vue2使用wangeditor實(shí)現(xiàn)數(shù)學(xué)公式和富文本編輯器
這篇文章主要為大家詳細(xì)介紹了vue2如何使用wangeditor實(shí)現(xiàn)數(shù)學(xué)公式和富文本編輯器功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-12-12

