随笔分类 - vue / vue2
摘要:这样的场景:渲染列表数据的时候,列表的子项还是列表。如果层级少尚且可以用几个 for 循环搞定,但是层级多或者层级不确定就有点无从下手了。 其实这就是树形结构数据,像常见的组织架构图,文件夹目录,导航菜单等都属于这种结构。很多组件库都带有树形组件,但往往样式不是想要的,改起来也非常的费劲。那么,如何
阅读全文
摘要:面试题:created 生命周期中两次修改数据,会触发几次页面更新? 一、同步的 先举个简单的同步的例子: new Vue({ el: "#app", template: `<div> <div>{{count}}</div> </div>`, data() { return { count: 1,
阅读全文
摘要:总结 Vue 的初始化过程(new Vue(options))都做了什么? 处理组件配置项 初始化根组件时进行了选项合并操作,将全局配置合并到根组件的局部配置上 初始化每个子组件时做了一些性能优化,将组件配置对象上的一些深层次属性放到 vm.$options 选项中,以提高代码的执行效率 初始化组件
阅读全文
摘要:首先看源码 //即将要被劫持的数组 let arr = [1, 2, 3]; //先把要劫持的方法列出来 let methods = ["push", "pop", "shift", "unshift", "reverse", "sort", "splice"]; //既然要劫持原型,就要先把原型拿
阅读全文
摘要:总结 关于 vue 中 created 和 watch 的执行顺序相对比较简单,而其中 computed 是通过 Object.defineProperty 为当前 vm 进行定义,再到后续创建 vNode 阶段才去触发执行其 get 函数,最终执行到计算属性 computed 对应的逻辑。 官网的
阅读全文