会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
楸枰~
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2023年4月17日
vue2源码-七、虚拟DOM转化为真实DOM
摘要: 虚拟DOM转化为真实DOM vnode虚拟节点创建真实节点,主要有以下几步: Vue原型方法_update的扩展。 patch方法:既有初始化的功能又有更新的逻辑。 createElm方法:根据虚拟节点创建真实节点。 _update方法: // 将vnode转化为真实dom Vue.prototyp
阅读全文
posted @ 2023-04-17 19:56 楸枰~
阅读(319)
评论(0)
推荐(0)
2023年4月16日
程序员面试金典---7
摘要: 二进制转字符串 思路; 使用2成十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,依次继续。直到积中的整数部分为0,或者整数部分为1,此时0或1为二进制的最后一位。 例: 0.625=(0.101)B 0.625 * 2 = 1.25 取出整数部
阅读全文
posted @ 2023-04-16 22:25 楸枰~
阅读(22)
评论(0)
推荐(0)
vue2源码-六、根据render函数生成vnode
摘要: 根据render函数生成vnode 上文介绍 上面已经将模板编译成了render函数,下面就要使用render函数,从而完成渲染的操作: 首先,根据render函数生成虚拟节点;然后根据虚拟节点+真实数据生成真实节点。 实现mountComponent方法,完成渲染 虚拟节点生成 封装vm._ren
阅读全文
posted @ 2023-04-16 18:57 楸枰~
阅读(80)
评论(0)
推荐(0)
2023年4月15日
程序员面试金典---6
摘要: 节点间通路 思路:邻接表+递归 实例:n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2 首先构建邻接表 0->1->2 1->2 然后对每一行递归,查看是否能到达。 此外:还需要创建一个visited记录是否
阅读全文
posted @ 2023-04-15 22:28 楸枰~
阅读(19)
评论(0)
推荐(0)
vue2源码-五、将模板编译解析成AST语法树2
摘要: 生成render函数 前言 上篇,生成ast语法树,而这篇使用ast语法树生成render函数。 export function compileToFunction(template) { // 1,将模板编译称为 AST 语法树 let ast = parserHTML(template); //
阅读全文
posted @ 2023-04-15 20:58 楸枰~
阅读(135)
评论(0)
推荐(0)
2023年4月14日
程序员面试金典---5
摘要: 零矩阵 思路: 设置两个列表记录哪里需要置零,然后对其改变即可 class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-pla
阅读全文
posted @ 2023-04-14 22:56 楸枰~
阅读(19)
评论(0)
推荐(0)
vue2源码-五、将模板编译解析成AST语法树1
摘要: 将模板编译成ast语法树 complileToFunction方法 vue数据渲染:template模板->ast语法树->render函数,模板编译的最终结果结果就是render函数。 在complileToFunction方法中,生成render函数,需要以下两个核心步骤: 通过parserHT
阅读全文
posted @ 2023-04-14 21:49 楸枰~
阅读(69)
评论(0)
推荐(0)
2023年4月13日
程序员面试金典---4
摘要: 字符串压缩 思路: 使用双指针进行模拟即可 class Solution: def compressString(self, S: str) -> str: res = [] # i:左指针,j:右指针 i, j, ls = 0, 0 ,len(S) while i < ls: # 记数当前字符的连
阅读全文
posted @ 2023-04-13 20:55 楸枰~
阅读(20)
评论(0)
推荐(0)
vue2源码-四、解析模板参数
摘要: 解析模板参数 前言 在vue中,vue的初始化流程中,会做两件事: 状态初始化:实现数据的响应式 将数据挂载到页面上 因此后面就要实现将数据挂载到页面上。 export function initMixin(Vue) { Vue.prototype._init = function (options
阅读全文
posted @ 2023-04-13 19:57 楸枰~
阅读(55)
评论(0)
推荐(0)
2023年4月12日
vue2源码-三、数组的劫持
摘要: 数组的劫持 数组劫持的思路 对于数组劫持的目标是实现数组的响应式: 在Vue中,我们很少会使用索引进行操作数组,并且认为有七个方法能够改变数组: push、pop、splice、unshift、reverse,sort。所以,需要对七个方法进行特殊处理,是他们能够劫持到数组的数据变化,就能够实现数组
阅读全文
posted @ 2023-04-12 20:32 楸枰~
阅读(114)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告