Vue语法学习第三课——计算属性
模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。对于任何复杂逻辑,都应当使用计算属性。
<div id="example"><p>original message : "{{message}}"</p><p>computed reversed message : "{{reverseMessage}}"</p></div><script>var vm = new Vue({el:"#example",data:{message : "zxq"},computed : {reverseMessage : function(){return this.message.split('').reverse().join('');}}});</script>
同样的效果也可以通过在表达式中调用methods实现。
注:计算属性是基于他们的依赖进行缓存的,只有在相关依赖发生改变时,计算属性才会重新求值。
如上示例,只有当message改变时,多次访问 reverseMessage 计算属性才会再次执行函数,否则会返回之前的结果。
而对比methods,总是会再次执行函数。
computed 和 watch
<div id="app0">firstname : <input type="text" v-model="firstName"/><br/>lastname : <input type="text" v-model="lastName"/><p>my name is : {{fullName}}</p> </div>
① watch
var vm = new Vue({el: '#app0',data: {firstName: 'Foo',lastName: 'Bar',fullName: 'Foo Bar'},watch: {firstName: function (val) {this.fullName = val + ' ' + this.lastName},lastName: function (val) {this.fullName = this.firstName + ' ' + val}}})
② computed
var vm = new Vue({el: '#app0',data: {firstName: 'Foo',lastName: 'Bar'},computed: {fullName: function () {return this.firstName + ' ' + this.lastName}}})
相比之下,计算属性更为简洁
计算属性默认只有get方法,但在必要时也可以提供一个set方法
<div id="example">firstname : <input type="text" v-model="firstName"/><br/>lastname : <input type="text" v-model="lastName"/><br/>my name is : <input v-model="fullName" /></div><script>var vm = new Vue({el:"#example",data: {firstName: 'zhu',lastName: 'xingqing'},computed : {fullName : {get : function(){return this.firstName + ' ' + this.lastName},set : function(newVal){newfull = newVal.split(' ');this.firstName = newfull[0];this.lastName = newfull[1];}}}});</script>
转载于:https://www.cnblogs.com/zhuxingqing/p/10502052.html
Vue语法学习第三课——计算属性相关推荐
- vue 计算属性_lt;Vue 源码笔记系列6gt;计算属性 computed 的实现
1. 前言 原文发布在语雀: <Vue 源码笔记系列6>计算属性 computed 的实现 · 语雀www.yuque.com 上一章我们已经学习过 watch,这一章就来看一下计算属性 ...
- Python学习第三课-基本数据类型
Python学习第三课-基本数据类型 一.基本概念 1.1表达式 1.2语句 1.3程序 1.4函数 内置函数 自定义函数 参数 返回值 二.标识符 2.1 关键字 2.2标识符概念 驼峰命名法 下划 ...
- JavaScript学习 第三课(三)
JavaScript学习 第三课(三) 学习内容 一.日期和时间对象 二.日期和对象常用的方法 三.修改日期和对象常用的方法 四.将日期和时间转化为字符串 五.日期时间对象的比较 一.日期和时间对象 ...
- VUE项目学习(三):win10版nginx部署vue项目
VUE项目学习(三):win10版nginx部署vue项目 niginx的安装和启停操作参照博客:https://blog.csdn.net/qq_26666947/article/details/1 ...
- 语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)
语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符) (如有错误,欢迎指正,感谢!) 类 类是面向对象的程序设计中的概念,实现信息的封装 概念: 类就是拥有相等行为和相同的属性的 ...
- Vue+Electron学习系列 (三) -- 自动更新
Vue+Electron学习系列 1️⃣Vue+Electron学习系列 (一) -- 初识 2️⃣ Vue+Electron学习系列 (二) -- 打包发布 3️⃣ Vu ...
- VUE学习一:初识VUE、指令、动态绑定、计算属性
文章目录 导言 一.01-初体验 1. ch01_helloworld.html 2. ==v-for指令==:ch02_vue列表展示_v-for.html 3. ==v-on指令==:ch03.1 ...
- 4.vue基础(三)计算属性-监视(侦听)属性
文章目录 1. 计算属性 1.1 插值语法实现姓名案例 1.2 methods实现 1.3 计算属性实现 2.监视(侦听)属性 2.1 天气案例 2.2 利用监听属性 2.3 深度监听 2.3.1 监 ...
- Vue学习笔记之04-computed计算属性
计算属性 computed 什么是计算属性, 在某些情况下, 需要将数据先进行转化后再进行显示, 或者需要将多个数据结合后再进行显示, 那么就需要将属性进行处理, 这就叫做计算属性 在进行变量的操作的 ...
最新文章
- RocketMQ 消息丢失场景分析及如何解决!
- php判断ip地址小程序
- 【原创】QT简单计算器
- js 用下标获取map值_javascript怎么获取map的值?
- Linux下SSH Session复制
- Android 四大组件学习之ContentProvider三
- 云计算 third day
- NiceScroll接管iview table高度自适应变化
- 半导体、芯片、集成电路、无尘车间具体释义及区别
- python出入库_Python-批量导出excel加盟商出入库明细
- CocosCreator 框架设计
- 关于网络捐款 (r5笔记第53天)
- 计算机自动保存会存到哪里,电脑自动关机前会自动保存吗
- 【踩坑日记 · 嵌入式 Linux】在香橙派 Zero 2 上编译安装 CH340 驱动(OrangePi Zero 2)
- 最详细PicGo(图床)加阿里云OSS实现图片自动上传
- 解决 ENVI App Store安装后无法打开的问题
- 树莓派4B使用VNC连接之大无语事件
- 1549_AURIX_TC275_SCU系统中的CCU模块
- pet缩聚流程图_PET缩聚聚合工艺.doc
- Mac上几款好用的视频播放器推荐