vue数据双向绑定的实现原理?

object类型的数据是通过object.defineProperty来监测的链接描述
那么如果是其他类型的呢?比如string或者Number

阅读 2.6k
4 个回答

你连接的文章中已经说明了,会实现一个observer来劫持vue的data值,而VUE的data的值是可以为任意数据类型的
看以下defineReactive:

walk: function(data) {
        var self = this;
        //这里是通过对一个对象进行遍历,对这个对象的所有属性都进行监听
        Object.keys(data).forEach(function(key) {
            self.defineReactive(data, key, data[key]);
        });
    },

注意:这里是通过对一个对象进行遍历,对这个对象的所有属性都进行监听
这里的对象在VUE中指的是data

无论什么类型不都是在data对象里吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题