VUE源码解析
vue2.0源码解析
进阶er
进阶
展开
-
Event Loop与异步更新策略
Vue 和 React 都实现了异步更新策略,虽然实现的方式不尽相同,但都达到了减少 DOM 操作、避免过度渲染的目的一. 前置知识:Event Loop 中的“渲染时机”1. Micro-Task 与 Macro-Task事件循环中的异步队列有两种:macro(宏任务)队列和 micro(微任务)队列。常见的 macro-task 比如: setTimeout、setInterva...原创 2019-12-02 17:17:36 · 160 阅读 · 0 评论 -
前端路由和后端路由
1 History API1.1 back()方法此异步方法转到会话历史记录中的上一页,与用户单击浏览器的“后退”按钮时的操作相同。等同于history.go(-1)。 调用此方法以返回会话历史记录的第一页之外不会产生任何效果,也不会引发异常。1.2 forward()此异步方法转到会话历史记录的下一页,与用户单击浏览器的“前进”按钮时的操作相同;这相当于history.go(1)。 调...原创 2019-11-14 22:41:56 · 157 阅读 · 0 评论 -
路由拦截
路由拦截很多页面是需要登录后才有权限访问的,所以需要在前端做路由拦截判断用户是否可以访问该页面。1 前端路由拦截实现思路:在自定义路由时添加一个自定义字段requireAuth,用于判断该用户是否已经登录成功登录的用户可以进行页面跳转,否则会重定向到登录页面vue实现前端路由拦截如下:const routes = [ { path: '/', name: 'In...原创 2019-11-14 21:48:46 · 1768 阅读 · 0 评论 -
单页应用与多页应用的区别
1 单页应用(SPA:单页复应用)1)页面跳转->JS渲染(JS能感知URL的变化,动态地把页面的内容删除掉,新的页面上的结构渲染出来)2)首屏展示:一次HTML请求 一次JS请求(两者都回来之后首屏进行展示)一次请求 节约HTTP请求时延3)优点:页面切换块4)缺点:首屏时间长 SEO差2 多页应用1)页面跳转->返回HTML2)优点:首屏时间快 SEO效果好3...原创 2019-11-14 17:53:26 · 134 阅读 · 0 评论 -
diff算法 学习笔记
最近在看diff算法,简单总结一下1. 一般diff比较算法主要思路1)判断虚拟节点(新)与老节点是否相同(sameVnode)2) 若相同,进一步比较其子节点是否相同(patchNode())3) 若不相同,用虚拟节点替换老节点(有父节点的话,insertNode,removeChild,老节点设空)function patch(OldNode,Vnode){if(sameNo...原创 2019-11-14 16:47:39 · 294 阅读 · 1 评论