亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于Vue.js學習之計算屬性?

關于Vue.js學習之計算屬性?

慕姐8265434 2018-09-04 11:07:32
Vue.js學習之計算屬性
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

前言

計算屬性是用來聲明式的描述一個值依賴了其它的值。當你在模板里把數據綁定到一個計算屬性上時,Vue 會在其依賴的任何值導致該計算屬性改變時更新 DOM。這個功能非常強大,它可以讓你的代碼更加聲明式、數據驅動并且易于維護。

開始用vue會把所有的模版上的數據都放到data屬性里,或者有的時候data屬性里變量多了之后覺得有些只是用一次的變量就直接寫到模版里了,后來看到同組的同事在用computed屬性,就又去查了一下api,發現這種情況其實最好用的就是computed。

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

2. 用computed的還有一個好處就是會跟隨其他data屬性的變化自動變化

比如官方文檔的一個例子:

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就會產生代碼的冗余,比如在直播中狀態的變化就可以用來計算是否展示視頻之類的上層屬性

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


查看完整回答
反對 回復 2018-09-22
  • 1 回答
  • 0 關注
  • 677 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號