1. 计算属性
在computed属性对象中定义计算属性的方法
在页面中使用{{方法名}}来显示计算的结果
2. 监视属性:
通过通过vm对象的$watch()或watch配置来监视指定的属性
当属性变化时, 回调函数自动调用, 在函数内部进行计算
3. 计算属性高级:
通过getter/setter实现对属性数据的显示和监视
计算属性存在缓存, 多次读取只执行一次getter计算
 
下面我们来看下代码块,重点我已注释
  1. <div id="demo">
  2. 姓: <input type="text" placeholder="First Name" v-model="firstName">
  3. 名: <input type="text" placeholder="Last Name" v-model="lastName">
  4. <!--fullName1是根据fistName和lastName计算产生-->
  5. 姓名1(单向): <input type="text" placeholder="Full Name1" v-model="fullName1">
  6. 姓名2(单向): <input type="text" placeholder="Full Name2" v-model="fullName2">
  7. 姓名3(双向): <input type="text" placeholder="Full Name3" v-model="fullName3">
  8.  
  9. </div>
  10.  
  11. <script type="text/javascript" src="../js/vue.js"></script>
  12. <script type="text/javascript">
  13. const vm = new Vue({
  14. el: '#demo',
  15. data: {
  16. firstName: 'A',
  17. lastName: 'B',
  18. fullName2: 'A-B'
  19. },
  20.  
  21. // 计算属性配置: 值为对象
  22. computed: {//什么时候执行?当fullName1被改变或者与其相关的属性被改变都会执行
  23. fullName1 () { // 属性的get()
  24. console.log('fullName1()', this)
  25. return this.firstName + '-' + this.lastName //this 这里代表着vm实例
  26. },
  27.  
  28. fullName3: {
  29. // 当获取当前属性值时自动调用, 将返回值(根据相关的其它属性数据)作为属性值
  30. get () {
  31. console.log('fullName3 get()')
  32. return this.firstName + '-' + this.lastName
  33. },
  34. // 当属性值发生了改变时自动调用, 监视当前属性值变化, 同步更新相关的其它属性值
  35. set (value) {// fullName3的最新value值 A-B23
  36. console.log('fullName3 set()', value)
  37. // 更新firstName和lastName
  38. const names = value.split('-')
  39. this.firstName = names[0]
  40. this.lastName = names[1]
  41. }
  42. }
  43. },
  44.  
  45. watch: {
  46. // 配置监视firstName
  47. firstName: function (value) { // 相当于属性的set
  48. console.log('watch firstName', value)
  49. // 更新fullName2
  50. this.fullName2 = value + '-' + this.lastName
  51. }
  52. }
  53. })
  54.  
  55. // 监视lastName
  56. vm.$watch('lastName', function (value) {
  57. console.log('$watch lastName', value)
  58. // 更新fullName2
  59. this.fullName2 = this.firstName + '-' + value
  60. })

  

vue的计算和监视属性,附一小实例的更多相关文章

  1. VUE:计算属性和监视

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Vue 计算属性 && 监视属性

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  3. Vue的计算属性,监视属性代码理解

    1.计算属性:在computed属性对象中定义计算属性的方法,在页面中使用{{方法名}}来显示计算的结果 //计算属性 computed:{ // 计算属性值的一个方法,方法的返回值是属性值,初始化显 ...

  4. vue生命周期以及vue的计算属性

    一.Vue生命周期(vue实例从创建到销毁的过程,称为生命周期,共有八个阶段) 1.beforeCreate :在实例初始化之后,数据观测 (data observer) 和 event/watche ...

  5. vue的计算属性computed和监听器watch

    <template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...

  6. Vue的计算属性和侦听器

    1 计算属性:他是根据对象已有的属性计算出新的属性值.具有缓存的功能,如果原始属性不变,则用缓存.否则,重新计算. 前端 <form> <label>姓</label&g ...

  7. Vue.js 计算属性是什么

    Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...

  8. vue 的计算属性computed自我理解

    类型:{ [key: string]: Function | { get: Function, set: Function } } 计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算.注意, ...

  9. vue的计算属性

    在模板中写入过多的逻辑使模板过重且难以维护.因此有了计算属性(computed)的产生. 你可以像绑定普通属性一样在模板中绑定计算属性,vue知道计算属性中的函数依赖data中的数据.所以当data中 ...

随机推荐

  1. 高级工程师->架构师

    1. 分解等级 技术人员典型的发展路径基本上都是下面的这个模式: 1) 0 ~1年:菜鸟,需要别人手把手来教 2)1 ~ 3年:初级,需要别人带你做 3)3 ~ 5年:高级,能独当一面,可以带初级技术 ...

  2. Python之图片缩放功能实现

    这几天由于有项目在做,自己的学习部分然后没有很充足的时间,但是这些零碎的时间也是很宝贵的,所以还是继续学我的python,我很喜欢这个语言,因为简洁,开发环境简单,更多的事,功能灰常的强大,所以好多有 ...

  3. P2948 [USACO09OPEN]滑雪课Ski Lessons

    题意:Bessie去滑雪,限时T,滑雪场有S节课 每节课开始于$m_i$,长度为$l_i$,可以将Bessie的能力值变成$a_i$(注意是变成不是增加) 有n个滑雪坡,去滑雪需要$c_i$的能力,并 ...

  4. [SCOI2010]序列操作 BZOJ1858 线段树

    题目描述 lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b ...

  5. MySQL数据查询结果导出生成文件

    select url from news where url like "%美女%"  into outfile  "/导出的文件路径" : 在这里有个坑,对于 ...

  6. POJ1056 IMMEDIATE DECODABILITY & POJ3630 Phone List

    题目来源:http://poj.org/problem?id=1056   http://poj.org/problem?id=3630 两题非常类似,所以在这里一并做了. 1056题目大意: 如果一 ...

  7. Mysql-proxy代理内网数据库

    Mysql-proxy 参考:https://segmentfault.com/q/1010000000394160 情景分析:首先您需要正在使用UCloud云主机(uhoust)以及云数据库(udb ...

  8. 利用SharePoint项目改造的Web项目问题——Windows身份验证

    最近领导交给一个项目:改造现有的SharePoint项目.UI层是做好的,只需要把实现的所有接口方法重新实现一遍,改造成Web版的实现方式. 现在要做基于Windows身份认证的登陆: 配置IIS—— ...

  9. 关于c语言的位运算&,|,^(看懂汉字的都能看懂)

    其中|,&可以当作逻辑运算符,当|,&当成逻辑运算符时,与||,&&的用法基本相似,&&,||运算时会当前面的表达式能够决定整个表达式,则不进行对后面的 ...

  10. Educational Codeforces Round 11 B

    Description Consider 2n rows of the seats in a bus. n rows of the seats on the left and n rows of th ...