深层原理
为什么选b
这个作者很懒,什么都没留下…
展开
-
vue简版源码(observer)
function Observer(data) { //在Observer实例上暂存data this.data = data; this.walk(data); } Observer.prototype = { walk: function(data) { var me = this; //对data里所有的属性名进行遍历 Object.keys(data).forEach(function(key) {转载 2021-05-05 01:22:15 · 106 阅读 · 0 评论 -
vue简版源码(compile)
function Compile(el, vm) { this.$vm = vm; //this Compile的实例 $vm 是MVVM的实例 (vm) // el == "#app" 判断当前用户传递的el属性是元素节点还是选择器,如果是元素节点则直接保存到$el中通, //如果不是 则根据选择器 去查找对应的元素 然后保存 this.$el = this.isElementNode(el) ? el : document.querySelector(el);转载 2021-05-05 01:21:45 · 93 阅读 · 0 评论 -
vue简版源码(watcher)
function Watcher(vm, exp, cb) { //在watcher的实例上保存回调函数 this.cb = cb; //用于更新界面的回调函数 this.vm = vm; //MVVM的实例vm this.exp = exp; //对应的表达式 this.depIds = {}; //n个相关的dep的容器 this.value = this.get(); //初始化获取当前表达式对应的value } Watcher.prototype =转载 2021-05-05 01:21:16 · 112 阅读 · 0 评论 -
vue简版源码(MVVM)
function MVVM(options) { //给实例新增一个$options属性,.并且把传递过来的配置进行暂存 this.$options = options; this.$options.beforeCreate && this.$options.beforeCreate(); //在实例上新增一个_data 保存传递过来的data数据 var data = this._data = this.$options.data; /转载 2021-05-05 01:20:51 · 82 阅读 · 0 评论