Vue基础之计算属性

  • 定义:
  • 原理:
  • get函数执行时机:
  • 优势:
  • 备注:
  • Demo:

定义:

要用的属性不存在,要通过已有属性计算得来。

原理:

底层借助了Objcet.defineproperty方法提供的getter和setter。

get函数执行时机:

(1)初次读取时会执行一次。
(2)当依赖的数据发生改变时会被再次调用。

优势:

与methods实现相比,内部有缓存机制(复用),效率更高,调试方便。

备注:

(1)计算属性最终会出现在vm上,直接读取使用即可。
(2)如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生改变。

Demo:

 <body><div id="root">姓:<input type="text" v-model="firstName"> <br/><br/>名:<input type="text" v-model="lastName"> <br/><br/>全名:<span>{{fullName}}</span> <br/><br/></div></body><script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。const vm = new Vue({el:'#root',data:{firstName:'张',lastName:'三',x:'你好'},computed:{fullName:{get(){console.log('get被调用了')return this.firstName + '-' + this.lastName},set(value){console.log('set',value)const arr = value.split('-')this.firstName = arr[0]this.lastName = arr[1]}}}})</script>

当计算属性只有getter时,可简写

computed:{fullName(){console.log('get被调用了')return this.firstName + '-' + this.lastName}}}

Vue基础之计算属性相关推荐

  1. Vue基础语法-计算属性

    计算属性 * 计算属性 计算属性写法是个方法,但是使用的时候作为属性使用.计算属性中使用到data中的数据只要发生了变化,计算属性就会重新计算.如果两次获取计算属性的时候,里面使用的属性没有发生变化, ...

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

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

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

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

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

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

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

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

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

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

  7. 五十八、Vue中的计算属性,方法和侦听器

    @Author:Runsen @Date:2020/10/15 本篇是水篇,记录前端的学习,争取早日拿到前端offer 计算属性,方法和侦听器 所以,对于任何复杂逻辑,你都应当使用计算属性.(官方原话 ...

  8. Vue 过滤器、计算属性、侦听器 图解版 一目了然

    文章目录 本篇学习目标 1. vue基础 1.0_vue基础 v-for更新监测 1.1_vue基础_v-for就地更新 1.2_vue基础_虚拟dom 1.3_vue基础_diff算法 情况1: 根 ...

  9. 003-读书笔记-Vue官网 计算属性与监听器

    1.计算属性 1-1 计算属性概述 计算属性也是 Vue 实例的属性,和 data 方法中返回的对象中的属性是等同的存在.通常来说,计算属性可以简单理解: 计算属性其实就是 Vue 实例的一个属性 计 ...

最新文章

  1. java.lang.IllegalStateException: 启动子级时出错
  2. excel 避免下拉操作
  3. linux man命令_CentOS Linux中的man命令
  4. 粗谈LINUX下的文件系统管理
  5. WEB安全基础-URL跳转漏洞
  6. Node.js -- 目录
  7. ncurses初始化函数:raw(),cbreak(),echo(),noecho(),keypad(),halfdelay()
  8. JAVA程序设计(学堂在线-清华大学) 课后练习题(更新)
  9. NideShop:基于Node.js+MySQL开发的高仿网易严选开源B2C商城
  10. 基于stc8a的ad9833模块的例程的使用
  11. 全球首个中文PaaS支撑平台----天翎myApps快速开发平台
  12. 运行剑灵与服务器断开,剑灵手游程序错误 和服务器断开解决方法
  13. Excel作图-显示多层分类轴标签
  14. Speech Separation
  15. python报错系列(9)--SyntaxError: Missing parentheses in call to ‘print‘. Did you mean print()
  16. 腾讯云TSF微服务平台及ServiceMesh技术实践
  17. alibaba pc safe service无法删除,一直在后台运行怎么办?
  18. 微信小程序项目——校园新闻网
  19. AtCoder Beginner Contest 151
  20. 使用cxf发布webservice接口,以及调用webservice接口

热门文章

  1. 使用Xshell连接Ubuntu 20.4系统时提示
  2. Suspicious.MH690
  3. 一维数据二维化的办法汇总(一)
  4. win10 网页 你尚未连接 代理服务器可能有问题,或地址不正确。
  5. 「LibreOJ NOI Round #2」单枪匹马
  6. python语句--条件语句
  7. 密码学系列 - 国密算法
  8. 不知道你有没有听说过所谓编程知识也是有半衰期的?
  9. (株)FAU艾芙优连续五年荣获“韩国消费者评价第一”
  10. ProtoBuf 官方文档翻译