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 相关文章推荐
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
Dom 是什么的详细说明
Oct 25 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
微信小程序实现图片预加载组件
Jan 18 Javascript
JS打开摄像头并截图上传示例
Feb 18 Javascript
ECMAScript6变量的解构赋值实例详解
Sep 19 Javascript
vue 全局封装loading加载教程(全局监听)
Nov 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 Smarty生成EXCEL文档的代码
2008/08/23 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
动态加载js的几种方法
2006/10/23 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
jquery禁用右键示例
2014/04/28 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python 同时运行多个程序的实例
2019/01/07 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
TCP/IP的分层模型
2013/10/27 面试题
编辑个人求职信范文
2013/09/21 职场文书
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
介绍长城的导游词
2015/01/30 职场文书
中秋节晚会开场白
2015/05/29 职场文书
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS