说说从 template 到 render 处理过程
vue 中通过 自定义的 compiler 将 template 转化为 render 函数 具体过程 解析 template 的 token,生成抽象语法树 ast ast 进行转换,通过transform …
watch 和 watchEffect 异同
watchEffect 立即运行一个函数,然后被动地追踪它的依赖,当这些依赖改变时重新执行该函数。watch 侦测一个或多个响应式数据源并在数据源变化时调用…
从零开始写一个 vue 路由 说说你的思路
实现一个 Router 类 可以保存路径和组件关系的配置 监听 hashchange 或者 popState事件 初始化时和事件回调里根据当前的路径匹配要渲染的组件 实现 ro…
ref 和 reactive 异同
相同之处 都是响应式对象 不同支持 ref 支持原始值, reactive 只支持对象烈性的数据 ref 需要 .value 进行读取和更新,reactive 可以直接访问属性,…
Vue 子组件和父组件创建和挂载顺序
挂载 父 beforeCreate 父 created 父 beforeMount 子 beforeCreate 子 created 子 beforeMount 子 mounted 父 mounted 原因: 组件创建过程中,是个递…
watch 和 computed 的区别
computed 常用来对已有数据进行处理,watch 用来监听数据,在数据变化后执行对应的回调 computed 可以对一些复杂的表达式进行简化,computed 可以进…
Vue 2 和 3 中的生命周期
定义 Vue 组件在初始化,挂载,更新,卸载时会触发一系列 hook,这些 hook 成为生命周期钩子函数 Vue 2 beforeCreate 组件实例开始创建 created 组件…
你有使用过 vuex 的 module 吗?
如何使用 在每个 module 里定义独立的 state、getters、mutations、actions,在创建 Store 时,在modules 属性中定义模块的名称,可以通过 $store.mod…
Vue 组件为什么只能有一个根元素
vue2 中只允许一个根元素,是因为进行 diff 时会从根节点进行遍历,函数只处理了单节点的场景 Vue3 支持多个根元素,是因为 引入了 Fragment 的概念…