Vue學習筆記之計算屬性與偵聽器用法
本文實例講述了Vue計算屬性與偵聽器用法。分享給大家供大家參考,具體如下:
vue之所以加載速度非常塊,是因為在數(shù)據(jù)改變時,它并不是將所有組件都刷新,而是在重用代碼的基礎上對發(fā)生改變的地方進行渲染。同時,還得益于計算屬性的使用:
1、計算屬性
像綁定普通屬性一樣在模板中綁定計算屬性。例如reverseName屬性依賴于firstName和lastName,當firstName或lastName發(fā)生改變時,依賴于它的 reverseName 也會更新。
利用函數(shù)方法也可以實現(xiàn)類似的效果,不同的是計算屬性是基于它們的依賴進行緩存的。只有在它的相關依賴發(fā)生改變時才會重新求值。這就意味著只要 firstName 還沒有發(fā)生改變,再次訪問 reversedName 計算屬性會立即返回之前的計算結果,而不必再次執(zhí)行函數(shù)。相比之下,每當觸發(fā)重新渲染時,調用方法將總會再次執(zhí)行函數(shù).
為什么需要緩存?假設我們有一個性能開銷比較大的的計算屬性 A,它需要遍歷一個巨大的數(shù)組并做大量的計算。然后我們可能有其他的計算屬性 B 依賴于 A 。如果使用函數(shù),每獲得一次B就要調用一次函數(shù)進行計算,造成很大開銷!
計算屬性默認為get方法,也可以設定set方法,接收傳入處理數(shù)據(jù)。例如傳入originalName,set方法對其進行拆解并復制給firstName與lastName,并引起firstName與lastName改變,調用get()方法。
<div id="app">
<p>{{originalName}}</p>
<p>{{reverseName}}</p>
<button @click="deal()">反轉名字</button>
</div>
let vue=new Vue({
el:'#app',
data:{
firstName:'',
lastName:'',
originalName:"super tory"
},
methods:{
deal(){
this.reverseName=this.originalName;
}
},
computed:{ //計算屬性鉤子
reverseName:{
set(string){ //通過set方法對傳入?yún)?shù)this.originalName進行操作
let name=string.split(' ');
this.firstName=name[1];
this.lastName=name[0];
},
get(){ //通過get方法返回值
return this.firstName+' '+this.lastName;
}
}
}
});
2、偵聽器watch
在Vue中提供一個鉤子,偵聽data中的某個變量是否改變,如果改變則執(zhí)行響應函數(shù)。
<div id="app2"> <input v-model="listen"> </div>
let vue2=new Vue({
el:'#app2',
data:{
listen:''
},
watch:{ //定義偵聽器鉤子
listen:function () { //定義函數(shù)偵聽listen的變化
console.log("input內容發(fā)生改變");
}
}
});
希望本文所述對大家vue.js程序設計有所幫助。
相關文章
詳解vue中的動態(tài)組件component和keep-alive
這篇文章主要介紹了詳解vue中的動態(tài)組件component和keep-alive的相關資料,這大家需要注意include屬性和exclude屬性只能用一個,不能同時使用,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-11-11
使用vue-infinite-scroll實現(xiàn)無限滾動效果
vue-infinite-scroll插件可以無限滾動實現(xiàn)加載更多,其作用是是當滾動條滾動到距離底部的指定高度時觸發(fā)某個方法。這篇文章主要介紹了用vue-infinite-scroll實現(xiàn)無限滾動效果,需要的朋友可以參考下2018-06-06
vue2.0如何實現(xiàn)echarts餅圖(pie)效果展示
這篇文章主要介紹了vue2.0如何實現(xiàn)echarts餅圖(pie)效果展示,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
vue3中ts語法使用element plus分頁組件警告錯誤問題
這篇文章主要介紹了vue3中ts語法使用element plus分頁組件警告錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
vue項目實現(xiàn)表單登錄頁保存賬號和密碼到cookie功能
這篇文章主要介紹了vue項目實現(xiàn)表單登錄頁保存賬號和密碼到cookie功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08

