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 相关文章推荐
客户端静态页面玩分页
Jun 26 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
Dec 19 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
简单的代码实现jquery定时器
Nov 17 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
React中阻止事件冒泡的问题详析
Apr 12 Javascript
layui switch 开关监听 弹出确定状态转换的例子
Sep 21 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
JavaScript实现栈结构详细过程
Dec 06 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书写安全的脚本代码
2012/02/05 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
详解PHP队列的实现
2019/03/14 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
javascript prototype,executing,context,closure
2008/12/24 Javascript
简单的js表单验证函数
2013/10/28 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
微信小程序实现左滑删除效果
2020/11/18 Javascript
Fabric 应用案例
2016/08/28 Python
python队列queue模块详解
2018/04/27 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
详解python中的模块及包导入
2019/08/30 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
python实现图像外边界跟踪操作
2020/07/13 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
学生会离职感言
2014/02/11 职场文书
鉴定评语大全
2014/05/05 职场文书
2014年党支部学习材料
2014/05/19 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript