国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue計算屬性的學習筆記

2024-05-06 15:19:32
字體:
來源:轉載
供稿:網友

本文為大家分享了Vue計算屬性的學習筆記,供大家參考,具體內容如下

①模板內的表達式實際上只用于簡單的運算,對于復雜邏輯,使用計算機屬性。

②基礎例子:

<div id = "example">  <p>Original message:"{{message}}"</p>  <p>Computed reversed message:"{{reversedMessage}}"</p> </div> 
var vm = new Vue({  el:"#example",  data:{  message:"Hello"  },  computed:{  //a computed getter  reversedMessage:function(){   //'this' points to the vm instance   return this.message.split('').reverse().join('')  }  } }) 

這里我們聲明了一個計算機屬性reversedMessage,我們提供的函數將用作屬性vm.reversedMessage的getter。

③計算機緩存 vs Methods

可以通過調用表達式中的method來達到同樣的效果:

<p>Reversed message:"{{reversedMessage}}"</p> 
//in component methods:{  reversedMessage:function(){  return this.message.split('').reverse()/join('')  } } 

可以將同一個函數定義為一個method而不是一個計算機屬性。對于最終的結果,兩種方式確實是相同的。然而不同的計算機屬性是基于它們的依賴進行緩存的。計算屬性只有在它的相關依賴發生改變時才會重新求值,這就意味著只要message還沒有改變,多次訪問reversedMessage計算屬性會立即返回之前的計算結果,而不必再次執行函數。
下面的計算屬性將不再更新,因為Date.now()不是響應式依賴:

computed:{  now:function(){  return Date.now()  } } 

只要發生重新渲染,method調用總會執行該函數。

④computed屬性 vs watch屬性

<div id= "demo">{{fullName}}</div> 

watch:

var vm = new Vue({  el:"#demo",  data:{  firstName:"Foo",  lastName:"Bar",  fullName:"Foo Bar"  },  watch:{  firstName:function(val){   this.fullName = val + '' + this.lastName  },  lastName:function(val){  this.fullName = this.firstName + '' +val  }  } }) 

computed:

var vm = new Vue({  el:'#demo',  data:{  firstName:'Foo',  lastName:'Bar'  },  computed:{  fullName:function(){   return this.firstName + ' ' + this.lastName  }  } }) 

⑤計算setter:

計算屬性默認只有getter,不過在需要是可以提供一個setter:

// ... computed: {  fullName: {  // getter  get: function () {   return this.firstName + ' ' + this.lastName  },  // setter  set: function (newValue) {   var names = newValue.split(' ')   this.firstName = names[0]   this.lastName = names[names.length - 1]  }  } } // ... 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 云南省| 高雄县| 上杭县| 鹤峰县| 大安市| 横山县| 天津市| 库车县| 石河子市| 巩义市| 小金县| 福海县| 巴马| 长岭县| 嘉峪关市| 罗江县| 都昌县| 赞皇县| 肃南| 石棉县| 勃利县| 顺义区| 洪雅县| 南开区| 肥乡县| 江山市| 确山县| 盐津县| 海晏县| 昭平县| 崇左市| 炎陵县| 东兴市| 隆回县| 宝兴县| 多伦县| 咸丰县| 辰溪县| 高唐县| 丰都县| 稻城县|