摘要: vue的虚拟dom和diff算法 1.虚拟dom 虚拟dom,我的理解就是通过js对象的方式来具体化每一个节点,把dom树上面的每个节点都变为对象里的一个元素,元素的子元素变为子节点,节点上面的class、id、attribute等属性变为data内的值,然后通过dom上面的createElemen 阅读全文
posted @ 2022-06-13 23:13 cuteyuchen 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 新鲜出炉的vue2监听数据流程图,不涉及Watcher、Dep、Compile,结合前两篇监听对象与数组食用更佳 vue2源码学习(一) 手写监听对象 - cuteyuchen - 博客园 (cnblogs.com) vue2源码学习(二) 监听数组的变化 - cuteyuchen - 博客园 (c 阅读全文
posted @ 2022-07-03 19:30 cuteyuchen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 在监听对象变化的基础上只修改了observe.js,新增了array.js 通过重写数组内的会改变数组本身的方法进行监听数组的变化 //observe.jsimport { newArrayProto } from './array' class Observer { constructor (da 阅读全文
posted @ 2022-07-03 18:36 cuteyuchen 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 代码结构 index.js vue入口文件 state.js 初始化data,并将其代理至vm实例 observe.js 监听data内的对象 //index.jsimport { initState } from './state' function Vue(options){ const vm 阅读全文
posted @ 2022-06-30 22:14 cuteyuchen 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1、函数式组件 function Demo(){ return <h1>Hello World</h1>; } ReactDOM.render(<Demo/>, document.getElementById('app')); 执行了 ReactDOM.render(<Demo/>, documen 阅读全文
posted @ 2022-06-22 21:34 cuteyuchen 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 1、创建虚拟dom并上树的两种方式 //js方式 const vNode = React.createElement('h1', {id:'title'}, 'Hello, world!'); ReactDOM.render(vNode, document.getElementById('test' 阅读全文
posted @ 2022-06-18 23:08 cuteyuchen 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 分享一下自己写的一些vue自定义指令 1、自动获取输入框的焦点 autoFocus: { inserted: function (el) { el.focus() // el.querySelector('input').focus()//elementui的el-input版本 } }, 2、列表 阅读全文
posted @ 2022-06-17 23:18 cuteyuchen 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1. ctrl + shift + n: 打开工程中的文件,目的是打开当前工程下任意目录的文件。2. ctrl + j: 输出模板3. ctrl + b: 跳到变量申明处4. ctrl + alt + T: 围绕包裹代码5. ctrl + []: 匹配 {}[]6. ctrl + F12: 可以显示 阅读全文
posted @ 2022-06-17 11:03 cuteyuchen 阅读(261) 评论(0) 推荐(0) 编辑
摘要: #git commit 提交 #git branch 'name' 创建新分支 #git checkout 'name' /git switch 'name' 切换分支 #git checkout -b 'name' 创建新分支并切换到此分支 #git marge 'name' 合并当前分支至nam 阅读全文
posted @ 2022-06-16 22:35 cuteyuchen 阅读(74) 评论(0) 推荐(0) 编辑
摘要: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, 阅读全文
posted @ 2022-06-06 11:31 cuteyuchen 阅读(855) 评论(0) 推荐(0) 编辑