Vue computed 計算屬性代碼實例
什么是計算屬性???
1、在computed中,可以定義一些屬性,這些屬性叫做【計算屬性】
2、計算屬性的本質是一個方法,不過一般是將他們的名稱直接當做屬性使用,不會當方法調用
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <script src='http://www.cgvv.com.cn/lib/vue-2.4.0.js'></script></head><body><div id='app'> <input type='text' v-model='firstname'>+ <input type='text' v-model='lastname'>= <input type='text' v-model='fullname'></div><script> var vm = new Vue({ el: ’#app’, data: { firstname: ’’, lastname: ’’ }, methods: {}, computed:{ // 在computed中,可以定義一些屬性,這些屬性叫做【計算屬性】 // 計算屬性的本質是一個方法,不過一般是將他們的名稱直接當做屬性使用,不會當方法調用 ’fullname’:function () {return this.firstname + ’-’ + this.lastname; } } })</script></body></html>
重點注意
1、計算屬性,在調用的時候,一定不要加()去調用,直接將它當做普通屬性使用
2 、計算屬性的function中引用的data中的數據發生了變化,就會立即重新計算這個計算屬性的值
3、 計算屬性的求值結果,會被緩存起來,方便下次直接使用;如果計算屬性方法中,所有來的任何數據沒有發生改變,則不會重新計算
內容擴展
vue之computed(計算屬性)的使用方法
在vue中,一些簡易的計算可以直接在模板中計算,如:{{ number + 1 }};但是在模板中如果有太多復雜的計算難以維護;所以對于任何復雜的邏輯,你都應該使用計算屬性的原因;
1.經過處理返回的數據值,只要源數據沒有發生改變,computed函數里面對相應的數據就不會反生改變,相當于緩存在本地;發生改變的時候,computed對應數據的函數也會發生改變;
2:computed屬性和methods屬性
你可能已經注意到我們可以通過調用method來達到同樣的效果:我們可以將同一個函數定義為一個method而不是一個計算屬性,對于最終的結果,兩種方式確實是相同的;
然而,計算屬性是基于他們的依賴就行緩存的,計算屬性只有在它相關的依賴發生改變時才會重新求值,這意味著只要message 還沒有發生改變,多次訪問reversedMessage計算屬性會立刻返回之前計劃算的結果,而不必再次執行函數.
3:computed中的屬性;
計算屬性默認只有getter不過在需要時也可以提供一個setter;
var vm=new Vue({ el:'#demo', data:{ firstName:'foo', lastName:'Bar', fullName:'foo Bar'},computed:{ fullName:function(){ get:function(){ return this.firstName+' '+this.lastName; }, setter:function(){ var names=newValue.split(’’); this.firstName=names[0]; this.lastName=names[names.length-1] } }}});
到此這篇關于Vue computed 計算屬性代碼實例的文章就介紹到這了,更多相關Vue之computed 計算屬性內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: