1、安装 Node https://nodejs.org/en/ 双击刚下载的文件,按步骤默认安装就行 2、安装完成后打开终端,输入npm -vnode -v 3、使用 serve 启动 web 服务 全局安装 serve,用于启动 web 服务 sudo npm install serve -g ...
分类:
系统相关 时间:
2020-07-21 21:34:59
阅读次数:
115
核心内容: 以虚拟dom(vnode)描述真实dom h()创建节点 init设置模块,生成patch函数 patch对比dom差异,将差异更新的到dom中 官方文档https://github.com/snabbdom/snabbdom 中文文档https://github.com/coconil ...
分类:
其他好文 时间:
2020-07-16 21:56:58
阅读次数:
242
指令创建 Vue.directive("hello",{ //bind 只调用一次,指令第一次绑定到元素时候调用 //el : 指令所绑定的元素,可以用来直接操作DOM //binding: 一个对象,包含指令的很多信息 //vnode: VUE编译生成的虚拟节点 bind:function(el, ...
分类:
其他好文 时间:
2020-07-14 18:20:31
阅读次数:
56
由于在浏览器中操作DOM是很昂贵的。频繁的操作DOM,会产生一定的性能问题。这就是虚拟Dom的产生原因。 Virtual DOM本质就是用一个原生的JS对象去描述一个DOM节点。是对真实DOM的一层抽象。(也就是源码中的VNode类,它定义在src/core/vdom/vnode.js中。) 虚拟 ...
分类:
其他好文 时间:
2020-07-08 23:27:21
阅读次数:
113
key是为每个vnode指定唯一的id,在同级vnode的Diff过程中,可以根据key快速的进行对比,来判断是否为相同节点, 利用 key 的唯一性生成 map 对象来获取对应节点,比遍历方式更快,指定key后,可以保证渲染的准确性(尽可能的复用 DOM 元素。) 为什么不建议用index作为ke ...
分类:
其他好文 时间:
2020-07-08 23:15:36
阅读次数:
97
先来看看 VNode的构造 可以明显看到,VNode的data属性是由VNodeData来赋值的, 从这个开始学一下,让我看一下VNodeData是个什么东西 做一个例子看一看 现在可以看到外部的标签属性传入都会进入VNode的data里,如果我们想做一个点击事件,只需要在VNodeData里添加一 ...
分类:
其他好文 时间:
2020-07-01 12:22:19
阅读次数:
147
VirtualDom vnode可以理解成节点描述对象,它描述了应该怎样去创建真实的DOM节点。 这是Vue中vnode实例对象中设计包含的所有属性和方法 class VNode { constructor(tag,data,children,text,elm,context,componentOp ...
分类:
编程语言 时间:
2020-06-10 23:09:59
阅读次数:
219
npm(Node package manager) 使用介绍 解决包之间的依赖关系 需安装node.js 下载后安装即可 npm -vnode -v 更新npm npm install npm@5.4.0 -gnpm install npm@latest -g# -g 表示全局环境,只有这样,npm ...
分类:
其他好文 时间:
2020-05-25 15:38:09
阅读次数:
106
根据node节点来生成一个VNode(vue中是是用字符串模版进行ast抽象树在进行VNode生成) js / 虚拟 DOM 构造函数 / class VNode { constructor(tag, data, value, type) { this.tag = tag && tag.toLowe ...
分类:
其他好文 时间:
2020-05-16 16:43:55
阅读次数:
68
vm._render 最终是通过执行 createElement 方法并返回的是 vnode Vue.prototype._render = function () { var vm = this; var ref = vm.$options; var render = ref.render; va ...
分类:
其他好文 时间:
2020-05-09 16:50:41
阅读次数:
54