Vue.js学习之计算属性


Posted in Javascript onJanuary 22, 2017

前言

计算属性是用来声明式的描述一个值依赖了其它的值。当你在模板里把数据绑定到一个计算属性上时,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
 }
 }
})

总结

以上就是关于Vue.js的计算属性的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
用jQuery扩展自写的 UI导航
Jan 13 Javascript
JS 控制小数位数的实现代码
Aug 02 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
Feb 03 Javascript
jQuery级联操作绑定事件实例
Sep 02 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
JavaScript中的继承之类继承
May 01 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
May 20 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
小程序关于请求同步的总结
May 05 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 #Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 #Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 #Javascript
select下拉框插件jquery.editable-select详解
Jan 22 #Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 #Javascript
js遍历json的key和value的实例
Jan 22 #Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 #Javascript
You might like
PHP之uniqid()函数用法
2014/11/03 PHP
PHP查询快递信息的方法
2015/03/07 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
python中int与str互转方法
2018/07/02 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
作风年建设汇报材料
2014/08/14 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
golang使用map实现去除重复数组
2022/04/14 Golang