溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue.js學(xué)習(xí)之計(jì)算屬性

發(fā)布時(shí)間:2020-09-08 21:08:37 來(lái)源:腳本之家 閱讀:113 作者:蘇打草莓 欄目:web開(kāi)發(fā)

前言

計(jì)算屬性是用來(lái)聲明式的描述一個(gè)值依賴了其它的值。當(dāng)你在模板里把數(shù)據(jù)綁定到一個(gè)計(jì)算屬性上時(shí),Vue 會(huì)在其依賴的任何值導(dǎo)致該計(jì)算屬性改變時(shí)更新 DOM。這個(gè)功能非常強(qiáng)大,它可以讓你的代碼更加聲明式、數(shù)據(jù)驅(qū)動(dòng)并且易于維護(hù)。

開(kāi)始用vue會(huì)把所有的模版上的數(shù)據(jù)都放到data屬性里,或者有的時(shí)候data屬性里變量多了之后覺(jué)得有些只是用一次的變量就直接寫到模版里了,后來(lái)看到同組的同事在用computed屬性,就又去查了一下api,發(fā)現(xiàn)這種情況其實(shí)最好用的就是computed。

1. computed可以保持模版的清晰,在template里盡量只進(jìn)行展示和綁定,而不要加入邏輯操作。

2. 用computed的還有一個(gè)好處就是會(huì)跟隨其他data屬性的變化自動(dòng)變化

比如官方文檔的一個(gè)例子:

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

如果用watch就會(huì)產(chǎn)生代碼的冗余,比如在直播中狀態(tài)的變化就可以用來(lái)計(jì)算是否展示視頻之類的上層屬性

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

總結(jié)

以上就是關(guān)于Vue.js的計(jì)算屬性的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI