
vue2.0
一袋米要扛几楼_
最怕你一生碌碌无为,还安慰自己平凡可贵
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vue源码学习 深入patch diff双端对比算法
什么时候调用patch在beforeMount和mounted之间,会执行options.render函数生成新的VNode树。然后调用vm._update(新VNode)更新,然后进入到patch阶段。// src/core/instance/lifecycle.jsexport function mountComponent ( vm: Component, el: ?Eleme...原创 2020-04-03 13:52:21 · 1275 阅读 · 0 评论 -
vue源码学习总结 深入解析nextTick
nextTick实现机制优先级:setImmediate() > MessageChannel > Promise.resolve().then() > setTimeout(fn,0)执行过程当前tick =>当前tick第一次调用queueNextTick 的时候将回调放入callbacks中,且将timerFunc推入到宏/微任务栈中,设置pending锁=&...原创 2020-04-02 22:16:19 · 1080 阅读 · 1 评论 -
vue源码学习总结 深入解析template编译成render函数过程
简述编译流程总的来说,在beforeMount之前执行编译过程,第一步通过html-parser将template解析成ast抽象语法树,第二步通过optimize优化ast并标记静态节点和静态根节点,第三步通过generate将ast抽象语法树编译成render字符串并将静态部分放到staticRenderFns中,最后通过new Function(render)生成render函数。在bef...原创 2020-04-01 17:12:32 · 3506 阅读 · 3 评论 -
vue源码学习总结 深入响应式原理
深入响应式原理图请反复观看原理图,画这个图的人请收下我的膝盖。。。从initState切入,发现有3种watcherVue.prototype._init= function (options?: Object) { callHook(vm, 'beforeCreate') initInjections(vm) // resolve injections before data/...原创 2020-03-31 18:03:48 · 2227 阅读 · 0 评论 -
vue源码学习总结 lifecycle深度解析
钩子函数详细描述钩子函数说明beforeCreatethis.$options初始化完成,生命周期钩子函数、事件函数、渲染函数等已挂载到Vue.prototype上createdinject、data、method、computed、prop、provide可以访问了,但真实dom还没有生成,this.$el还不可用beforeMountrender函数首次...原创 2020-03-27 18:13:22 · 1102 阅读 · 0 评论 -
vue源码学习总结 prop data method computed 的命名冲突处理策略
vue 组件属性命名冲突处理策略当 prop data method computed 的key值冲突, 获取值优先级策略如下:computed>data>method computed>method>prop prop>data在源码src/instance/state.js 的 initState中,方法的执行顺序为 initProps>ini...原创 2020-03-26 16:59:50 · 3659 阅读 · 0 评论 -
vue源码学习总结 this.$data this._data this.$options.data this.xxx之间的联系;data重置
假设有如下代码:let option={ name:'demo', el:'#app', template:'<div>{{name}}</div>' data(){ return { name:'demo page.' } }};let vm=new Vue(option);this.$options.data ...原创 2020-03-26 15:35:10 · 1186 阅读 · 0 评论 -
vue源码学习总结 options合并策略
vue options合并流程格式化数据格式化props为小驼峰命名的对象格式化inject为{key : { from: val}}形式对象格式化directives为{ bind: defFn, update: defFn }形式对象依次合并 parent, child.extends(单个继承组件), child.mixins(数组), child.options,取值越靠...原创 2020-03-25 18:01:29 · 656 阅读 · 3 评论 -
vue如何引入echarts(vue+webpack4.0+iview2.14+vuex+es6+stylus架构三)
第一步:引入echart依赖cnpm i echarts --save第二步:使用ecahrtsrc/main.jsimport echarts from 'echarts'Vue.prototype.$echarts=echarts解释: 在main.js中引入echarts, 然后赋值到Vue的原型上面,在页面就可以使用this.$echarts获取到了第三步:实例效果和代码<...原创 2018-05-25 15:00:19 · 3119 阅读 · 0 评论