为了账号安全,请及时绑定邮箱和手机立即绑定

关于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 关注
  • 635 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信