码迷,mamicode.com
首页 > 其他好文 > 详细

VUE实现双向数据绑定的原理

时间:2020-07-13 21:34:06      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:tps   bsp   控制   发布   objects   eve   nal   模式   详细   

Vue 实现 双向数据绑定 主要采用:数据劫持结合“发布-订阅”模式的方式,通过Object.defineProperty()的 set 和 get,在数据变动时发布消息给订阅者触发监听。

Object.defineProperty( )是用来做什么的?它可以来控制一个对象属性的一些特有操作,比如读写权、是否可以枚举,这里我们主要先来研究下它对应的两个描述属性get和set.如果还不熟悉其用法,请点击这里阅读更多用法

代码例子: 

var Book = {}
var name = ‘‘;
Object.defineProperty(Book, ‘name‘, {
  set: function (value) {
    name = value;
    console.log(‘你取了一个书名叫做‘ + value);
  },
  get: function () {
    return ‘《‘ + name + ‘》‘
  }
})
 
Book.name = ‘vue权威指南‘;  // 你取了一个书名叫做vue权威指南
console.log(Book.name);  // 《vue权威指南》

关于 Object.defineProperty,详细参考链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

 

VUE实现双向数据绑定的原理

标签:tps   bsp   控制   发布   objects   eve   nal   模式   详细   

原文地址:https://www.cnblogs.com/shuijingcao/p/13295424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!