摘要: 前言 众所周知,当子组件使用setup后,父组件就不能像vue2那样直接就可以访问子组件内的属性和方法。这个时候就需要在子组件内使用defineExpose宏函数来指定想要暴露出去的属性和方法。这篇文章来讲讲defineExpose宏函数是如何暴露出去这些属性和方法给父组件使用。注:本文中使用的vu 阅读全文
posted @ 2024-05-29 08:51 前端欧阳 阅读(1139) 评论(0) 推荐(2)
摘要: 前言 在之前的 面试官:来说说vue3是怎么处理内置的v-for、v-model等指令? 文章中讲了transform阶段处理完v-for、v-model等指令后,会生成一棵javascript AST抽象语法树。这篇文章我们来接着讲generate阶段是如何根据这棵javascript AST抽象 阅读全文
posted @ 2024-05-20 09:04 前端欧阳 阅读(873) 评论(0) 推荐(1)
摘要: 本文讲了vue3是如何实现编译优化之“静态提升”,静态节点无需每次执行render函数都去生成一次虚拟DOM 阅读全文
posted @ 2024-05-14 08:31 前端欧阳 阅读(808) 评论(0) 推荐(1)
摘要: 前言 jquery时代更新视图是直接对DOM进行操作,缺点是频繁操作真实 DOM,性能差。react和vue时代引入了虚拟DOM,更新视图是对新旧虚拟DOM树进行一层层的遍历比较,然后找出需要更新的DOM节点进行更新。这样做的缺点就是如果DOM树很复杂,在进行新旧DOM树比较的时候性能就比较差了。那 阅读全文
posted @ 2024-05-06 08:38 前端欧阳 阅读(3119) 评论(1) 推荐(7)
摘要: 文章解释了在原生input上面使用v-model和在组件上面使用v-model有什么区别? 阅读全文
posted @ 2024-04-23 16:04 前端欧阳 阅读(1520) 评论(2) 推荐(3)
摘要: vue3的transform函数具体是如何处理vue内置的v-for、v-model等指令。 阅读全文
posted @ 2024-04-18 10:11 前端欧阳 阅读(812) 评论(0) 推荐(0)
摘要: 前言 在之前的 通过debug搞清楚.vue文件怎么变成.js文件 文章中我们讲过了vue文件是如何编译成js文件,通过那篇文章我们知道了,template编译为render函数底层就是调用了@vue/compiler-sfc包暴露出来的compileTemplate函数。由于文章篇幅有限,我们没有 阅读全文
posted @ 2024-04-12 09:23 前端欧阳 阅读(1012) 评论(0) 推荐(2)
摘要: 使用defineModel时,为什么子组件内没有任何关于props的定义和emit事件触发的代码?修改defineModel返回值会修改父组件上绑定的变量,这是否破坏了vue的单向数据流呢? 阅读全文
posted @ 2024-04-08 09:20 前端欧阳 阅读(1040) 评论(2) 推荐(1)
摘要: 你知道v-model指令是如何变成组件上的modelValue属性和@update:modelValue事件呢?这一过程是在编译时还是运行时进行的呢? 阅读全文
posted @ 2024-03-26 08:52 前端欧阳 阅读(2019) 评论(0) 推荐(3)
摘要: 你知道defineEmits 宏函数经过编译后其实就是vue2的选项式API吗?你知道为什么 Vue 的 defineEmits 宏函数不需要 import 导入就可用吗?为什么defineEmits的返回值等同于$emit 方法用于在组件中抛出事件? 阅读全文
posted @ 2024-03-19 11:12 前端欧阳 阅读(658) 评论(0) 推荐(2)