摘要:
在相应的组件 A 中插入的内容会替换掉 A 中的 slot 元素 1. 具名插槽 通过在 slot 元素上添加 name="xxx" 字段, 即可将相应的 slot 插槽命名为 xxx 当该组件被父组件调用时, 父组件可以通过 <template v-slot:xxx>...</template> 阅读全文
摘要:
1. 引用类型转换为原始类型的规则 graph TB A1(获取数据 data 与转换提示 hint) --> A2(data 是否为原始类型) A2 --YES--> A3(返回 data) A2 --NO--> A4(是否指定 hint) A4 --YES--> A5(hint 是否为 Numb 阅读全文
摘要:
1. 子组件间通信(defineEmits + defineProps) 1.1 实现效果 在一个子组件的输入框中输入数据, 在另一个子组件上显示. 如下图: 1.2 defineEmits 和 defineProps 的 TS 使用 1.2.1 defineEmits 的 TS 使用 export 阅读全文
摘要:
1. typeof 1.1 typeof 的类型守卫用法 在类型代码中, typeof 执行的是最窄推导程度, 具体如下 const str = '123' type type1 = typeof str // '123' 通过类型推导, 可以达到收窄变量类型的目的 const foo = (inp 阅读全文
摘要:
1. v-model 的基本使用 1.1 v-model 是一个语法糖 <template> <input :value="text" @input="event => text = event.target.value" /> <input v-model="text" /> <!-- 这一行的意 阅读全文
摘要:
1. iterator/generator 简介 1.1 iterator 1.1.1 iterator 的作用 通过迭代器可以返回一个集合中的每一个项. 我们常用的 for...of 循环和 ... 扩展运算符都是基于 iterator 实现的 // 这里对数组进行可迭代化 const itera 阅读全文
摘要:
1. 深拷贝 1.1 递归深拷贝 1.1.1 从复制地址到复制引用类型 深拷贝与浅拷贝的区别就是: 当遇见引用类型 A 时 浅拷贝只会拷贝 A 的地址 深拷贝会在堆内存中将 A 复制一遍为 B, 并返回 B 的地址 故而: 深拷贝的第一步就是复制引用类型, 此时需要保证不可枚举属性和 Symbol 阅读全文
摘要:
1. 将 HTML 解析为 DOM 树 由于浏览器并不能理解 HTML 文件, 故而当网络进程将服务器返回的 HTML 传输给渲染进程时, 渲染进程也会逐步解析 HTML 文件, 构造一个浏览器能够理解的 DOM 树 2. 将 CSS 解析为 CSSOM 树 浏览器并不能理解 CSS 文件的内容, 阅读全文
摘要:
1. 什么是垃圾 垃圾通常是指非活动对象:即不再使用的对象 let obj = { name: 'obj1' } obj = { name: 'obj2' } // 当该行代码执行完毕后,由于 { name: 'obj1' } 并不会被使用,故而认定其为非活动对象,会被垃圾回收器回收 2. 垃圾回收 阅读全文
摘要:
1. flex 父容器 container { display: flex; } 中的 display: flex 可以令一个元素成为 flex 父容器 1.1 flex-direction 用于控制主轴的方向 row(默认值): 主轴方向从左到右 row-reverse: 主轴方向从右到左 col 阅读全文