开始用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}}
})

转载于:https://www.cnblogs.com/sparkmorry/p/5853387.html

Vue.js的计算属性相关推荐

  1. 面试题!vue中的计算属性、方法、侦听属性

    1.计算属性 详细的内容可跳转至vue 计算属性 可以使用计算属性来代替在表达式中进行的复杂运算,以便于能够更方便的维护与复用逻辑. 计算属性是在选项对象中使用 computed 字段来定义. 特点: ...

  2. Vue.js 监听属性简单实例

    Vue.js 监听属性 watch,可以通过 watch 来响应数据的变化. watch:用来监听每一个属性的变化     watch这个对象里面都是函数,函数的名称是data中的属性名称,watch ...

  3. [vue] watch和计算属性有什么区别?

    [vue] watch和计算属性有什么区别? 一个是侦听属性,一个是计算属性 2.一个是为了应对复杂的逻辑计算,一个是对数据的变化作出反应 3.一个是只有当缓存改变时才执行,一个是只要从新渲染就会执行 ...

  4. [vue] 在使用计算属性的时,函数名和data数据源中的数据可以同名吗?

    [vue] 在使用计算属性的时,函数名和data数据源中的数据可以同名吗? 莫名其妙的问题.可以同名,但data会覆盖methods.并且本就不该同名,同名说明你命名不规范.然后解释为什么会覆盖,因为 ...

  5. Vue基础之计算属性

    Vue基础之计算属性 定义: 原理: get函数执行时机: 优势: 备注: Demo: 定义: 要用的属性不存在,要通过已有属性计算得来. 原理: 底层借助了Objcet.defineproperty ...

  6. Vue中computed计算属性和data数据获取的问题

    获取到数据(对象.数组),截取一部分显示到页面中,用computed计算属性来实现截取数据然后直接输出到页面. <div class="detailBox"><h ...

  7. Vue 第一天: 计算属性和观察者

    计算属性和观察者 计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example" ...

  8. vue的computed计算属性学习

    模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重且难以维护.这时候需要使用到vue的计算属性computed. 文件目录结构如下:利用vue脚手架创建 这 ...

  9. Vue的computed(计算属性)使用实例之TodoList

    最近倒腾了一会vue,有点迷惑其中methods与computed这两个属性的区别,所以试着写了TodoList这个demo,(好土掩面逃~); 1. methods methods类似react中组 ...

最新文章

  1. elastic job review
  2. 数据库授予用户增删改查的权限的语句_软件测试之浅谈数据库技术概述
  3. flutter 局部状态和全局状态区别_Flutter状态管理
  4. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的pdf文件
  5. 【CV秋季划】图像质量提升与编辑有哪些研究和应用,如何循序渐进地学习好?...
  6. Awesome Tools Site
  7. MATLAB混合编程视频教程下载 SIMULINK系统仿真视频
  8. CSS中背景颜色、背景图片、渐变色、背景定位、精灵图(雪碧图)介绍
  9. 对于python命令行,你应该这么做才专业
  10. 计算机毕设分词,基于词表的中文分词算法
  11. CAD制图软件中如何设置CAD打印样式表(CTB)?
  12. 存储过程实现创建修改表及其数据
  13. java求两数最小公倍数_java求解2个数的最小公倍数
  14. 计算机网络安全基础知识复习
  15. 分享嵌入式开发使用过程中遇到的几个问题(MQX4.2,IAR,Kinetis K66)
  16. 服务器响应请求状态码(详细版)
  17. Android调用微信扫一扫和支付宝扫一扫
  18. 【SpringBoot学习】28、Spring Boot 整合 TKMybatis 通用 Mapper
  19. UE4课堂笔记——《UE4C++游戏开发入门教程!》第一期开场,C++必须了解小知识
  20. checkbox选中和不选中 jqu_jQuery解决checkbox未选中不提交值的问题

热门文章

  1. Tomcat源码分析(九)--Session管理
  2. wine 运行Adobe Audition 3.0方法
  3. Hadoop HA 双namenode搭建
  4. 慢性肾脏病蛋白营养治疗专家共识
  5. GenericUDF使用流程记载(转载+自己整理)
  6. 获取国内国外flink的mailing list技术支持
  7. mysql的事务操作
  8. No changes detected解决方案
  9. python显示图像某列的颜色值_Python Pandas Matplotlib图由单列中定义的类型值着色
  10. 重新审视自己和自己的目标