
vue
文章平均质量分 82
柯闪电
前端小白一枚ლ(́◉◞౪◟◉‵ლ)
展开
-
vue3.0源码解析,patch&diff过程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-05-14 00:59:00 · 1195 阅读 · 0 评论 -
vue2.0源码解析,initInjections与initProvide
前言在vue 2.2之后,新增了**(provide / inject) API**,用于跨层级的数据传递。vue官方文档 - provide / inject安定针: provide / inject的源码非常简单下面 (provide / inject) API 的使用方式// 父级组件提供 'foo'// 方式 1 直接传值var Provider = { provide: { foo: 'bar' }, // ...}// 方式 2// 函数式返回值,可变为原创 2021-07-18 18:59:27 · 522 阅读 · 1 评论 -
vue2.0源码解析,initState之initComputed、initWatch
asd原创 2021-07-18 12:32:01 · 449 阅读 · 1 评论 -
vue2.0源码解析,initRender(初始化render)
注:此章只讨论初始化过程,对render具体渲染不做讨论,在后面会有文章解析render过程。initRender函数/*初始化render*/export function initRender(vm: Component) { // _vnode 组件的真实节点,它的tag就是<template>标签下的第一个节点 vm._vnode = null; // the root of the child tree vm._staticTrees = null; // $vnode原创 2021-07-06 17:50:22 · 866 阅读 · 0 评论 -
实现vue2.0响应式原理
很久之前为了面试,看了一些分析源码的博客,没有最近重新看一下vue的源码,匆匆浏览记住一些概念,因为懒惰,后面也没有再去深入探索;前段时间痛定思痛,觉得不能这样下去,过一下vue源码,此文章也是为了记录自己的一些理解。希望的结果数据的读写更变依赖收集观察者(触发后续的视图更新)let vueData = { number: 9999, list: ['a', 'b', 'c'], tree: { user: 111, mo: '1231原创 2021-06-11 10:40:49 · 540 阅读 · 0 评论 -
vue2.0源码解析,Methods
安定针Methods部分的源码很简单,简单到什么程度,需要看的代码行数不超过20行。妈妈再也不用担心我的学习,芜湖起飞!代码以上基本就是全部的代码(其余可以忽略),在利用bind固定了作用域,使其每次触发,都保持着同一个上下文this,而对于低版本浏览器,使用polyfillBind方法兼容,以下是可以使用Function.prototype.bind()的浏览器版本如图所示,低版本ie浏览器不支持此方法,而兼容的polyfillBind方法,利用闭包保存上下文(ctx参数),灵活运用ap原创 2021-06-13 16:47:24 · 284 阅读 · 0 评论 -
vue2.0源码解析,Data
源码话不多说,直接放出源码。这里的整体代码也不多,我基本也已做了注释。// 对于process.env.NODE_ENV !== 'production'可以忽略掉,都是开发时候的警告提示处理function proxy (target: Object, sourceKey: string, key: string) { sharedPropertyDefinition.get = function proxyGetter () { return this[sourceKey][key]原创 2021-06-14 14:03:47 · 373 阅读 · 0 评论 -
vue2.0源码解析,initEvent(组件事件初始化)
在vue中使用事件// 例子1: vm.$on('test', function (msg) { console.log(msg) // hi})vm.$emit('test', 'hi')// 例子2: // 父组件监听子组件传出事件<my-component v-hook:created="dosomething"></my-component>// 例子3:// 一次监听回调后销毁监听<my-component v-on:click.once原创 2021-07-04 14:16:33 · 1091 阅读 · 0 评论