首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Vue源码分析
订阅
ruoruochen
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
手写Vuex核心原理,再也不怕面试官问我Vuex原理
install方法的作用是将store这个实例挂载到所有的组件上,注意是同一个store实例。 Store这个类拥有commit,dispatch这些方法,Store类里将用户传入的state包装成data,作为new Vue的参数,从而实现了state 值的响应式。 现在我们…
深度解析 Vue 响应式原理
无论是对象还是数组,需要实现双向绑定的话最终都会执行这个函数,该函数可以监听到 set 和 get 的事件。 在 Object.defineProperty 中自定义 get 和 set 函数,并在 get 中进行依赖收集,在 set 中派发更新。接下来我们先看如何进行依赖收集…
当面试官问你Vue响应式原理,你可以这么回答他
看过vue官方文档的同学,对这张图应该已然相当熟悉了。 听过太多回答,通过Object.defineProperty,可是再详细的问时,对方浑然不知。 这里我们用不到100行的代码,实现了一个简易的vue响应式。当然,这里如果不考虑期间的过程,我相信,40行代码之内可以搞定。但…
Vue源码简析(版本vue-2.4.4)
1. 先进入 initMixin(Vue),在prototype上挂载 2. 进入 stateMixin(Vue),在prototype上挂载 3. 进入eventsMixin(Vue),在prototype上挂载 5. 最后进入renderMixin(Vue),在protot…
面试题:你能写一个Vue的双向数据绑定吗?
Vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过Object对象的defineProperty属性,重写data的set和get函数来实现的,这里对原理不做过多描述,主要还是来实现一个实例。为了使代码更加的清晰,这里只会实现最基本的内容,主要实现v-model,v-…
面试官: 实现双向绑定Proxy比defineproperty优劣如何?
双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素之一. 可以实现双向绑定的方法有很多,KnockoutJS基于观察者模式的双向绑定,Ember基于数据模型的双向绑定,Angular基于脏检查的双向绑定,本篇文章我们重点讲面…
Vue双向绑定原理,教你一步一步实现双向绑定
当今前端天下以 Angular、React、vue 三足鼎立的局面,你不选择一个阵营基本上无法立足于前端,甚至是两个或者三个阵营都要选择,大势所趋。 所以我们要时刻保持好奇心,拥抱变化,只有在不断的变化中你才能利于不败之地,保守只能等死。 最近在学习 Vue,一直以来对它的双向…
【面试必备】如何实现 VueRouter?
前端面试中,会问到非常多的知识点。框架,几乎是必问的问题之一。Vue 作为目前最流行的 SPA 框架之一,是面试过程中的重头戏。Vue Router 作为 Vue 生态中极其重要的角色,也是我们必须掌握的一项技能。 这篇文章将介绍 Vue Router 的使用,并且自己动手实现…
详解vue的diff算法
目标是写一个非常详细的关于diff的干货,所以本文有点长。也会用到大量的图片以及代码举例,一起来get吧。 先来了解几个点... 1. 当数据发生变化时,vue是怎么更新节点的? 要知道渲染真实DOM的开销是很大的,比如有时候我们修改了某个数据,如果直接渲染到真实dom上会引起…
面试官: 你对虚拟DOM原理的理解?
Virtual DOM是对DOM的抽象,本质上是JavaScript对象,这个对象就是更加轻量级的对DOM的描述. 首先,我们都知道在前端性能优化的一个秘诀就是尽可能少地操作DOM,不仅仅是DOM相对较慢,更因为频繁变动DOM会造成浏览器的回流或者重回,这些都是性能的杀手,因此…