1. 计算属性
在computed属性对象中定义计算属性的方法
在页面中使用{{方法名}}来显示计算的结果
2. 监视属性:
通过通过vm对象的$watch()或watch配置来监视指定的属性
当属性变化时, 回调函数自动调用, 在函数内部进行计算
3. 计算属性高级:
通过getter/setter实现对属性数据的显示和监视
计算属性存在缓存, 多次读取只执行一次getter计算
 
下面我们来看下代码块,重点我已注释
<div id="demo">
姓: <input type="text" placeholder="First Name" v-model="firstName">
名: <input type="text" placeholder="Last Name" v-model="lastName">
<!--fullName1是根据fistName和lastName计算产生-->
姓名1(单向): <input type="text" placeholder="Full Name1" v-model="fullName1">
姓名2(单向): <input type="text" placeholder="Full Name2" v-model="fullName2">
姓名3(双向): <input type="text" placeholder="Full Name3" v-model="fullName3"> </div> <script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
const vm = new Vue({
el: '#demo',
data: {
firstName: 'A',
lastName: 'B',
fullName2: 'A-B'
}, // 计算属性配置: 值为对象
computed: {//什么时候执行?当fullName1被改变或者与其相关的属性被改变都会执行
fullName1 () { // 属性的get()
console.log('fullName1()', this)
return this.firstName + '-' + this.lastName //this 这里代表着vm实例
}, fullName3: {
// 当获取当前属性值时自动调用, 将返回值(根据相关的其它属性数据)作为属性值
get () {
console.log('fullName3 get()')
return this.firstName + '-' + this.lastName
},
// 当属性值发生了改变时自动调用, 监视当前属性值变化, 同步更新相关的其它属性值
set (value) {// fullName3的最新value值 A-B23
console.log('fullName3 set()', value)
// 更新firstName和lastName
const names = value.split('-')
this.firstName = names[0]
this.lastName = names[1]
}
}
}, watch: {
// 配置监视firstName
firstName: function (value) { // 相当于属性的set
console.log('watch firstName', value)
// 更新fullName2
this.fullName2 = value + '-' + this.lastName
}
}
}) // 监视lastName
vm.$watch('lastName', function (value) {
console.log('$watch lastName', value)
// 更新fullName2
this.fullName2 = this.firstName + '-' + value
})

  

最新文章

  1. webpack踩坑之路——图片的路径与打包
  2. Python函数作用域的查找顺序
  3. Manthan, Codefest 16 -C. Spy Syndrome 2
  4. [转]ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
  5. bzoj 3743
  6. Oracle 查看表空间大小及其扩展
  7. [Doc ID 1590988.1]如何清理E-Business Suite的缓存(Apache/iAS, Cabo, Modplsql, Browser, Jinitiator, Java, Portal, WebADI)?
  8. android学习笔记之ImageView的scaleType属性
  9. 如何快速使用ECharts绘制可视化图表
  10. Linux笔记——linux下的语音合成系统
  11. TestNg显示器(一个)-----监听器,类型和配置使用---另外META-INF详细解释
  12. osx mitmproxy ssl 错误
  13. 你用.NET开发APP时,在云平台打包APP要填个“包名”的含义
  14. Python内置函数(53)——repr
  15. vuex的购物车效果 index.js
  16. 【Zookeeper系列】ZooKeeper管理分布式环境中的数据(转)
  17. 【设计模式】—— 策略模式Strategy
  18. python测试开发django-16.JsonResponse返回中文编码问题
  19. Linux下wc命令统计文件行数/词数/字符数/最长行字符数
  20. 10 -- 深入使用Spring -- 5... 实现任务的自动调度

热门文章

  1. 【OD深入学习】Java多线程面试题
  2. Nginx+ISS+Redis实现完美负载均衡
  3. Flowerpot(又是尺取。。)
  4. asp.net mvc AjaxHelper 获取 JSON 的方法
  5. Jenkins自动化CI CD流水线之5--pipeline
  6. centos 7 安装 最小化 碰到的问题
  7. 锁、CAS操作和无锁队列的实现
  8. linux开机启动服务学习chkconfig命令
  9. c语言中有关0和1的运算问题
  10. apply,call,bind