摘要: vue3的transform函数具体是如何处理vue内置的v-for、v-model等指令。 阅读全文
posted @ 2024-04-18 10:11 前端欧阳 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 前言 在之前的 通过debug搞清楚.vue文件怎么变成.js文件 文章中我们讲过了vue文件是如何编译成js文件,通过那篇文章我们知道了,template编译为render函数底层就是调用了@vue/compiler-sfc包暴露出来的compileTemplate函数。由于文章篇幅有限,我们没有 阅读全文
posted @ 2024-04-12 09:23 前端欧阳 阅读(171) 评论(0) 推荐(2) 编辑
摘要: 使用defineModel时,为什么子组件内没有任何关于props的定义和emit事件触发的代码?修改defineModel返回值会修改父组件上绑定的变量,这是否破坏了vue的单向数据流呢? 阅读全文
posted @ 2024-04-08 09:20 前端欧阳 阅读(299) 评论(2) 推荐(1) 编辑
摘要: 你知道v-model指令是如何变成组件上的modelValue属性和@update:modelValue事件呢?这一过程是在编译时还是运行时进行的呢? 阅读全文
posted @ 2024-03-26 08:52 前端欧阳 阅读(490) 评论(0) 推荐(2) 编辑
摘要: 你知道defineEmits 宏函数经过编译后其实就是vue2的选项式API吗?你知道为什么 Vue 的 defineEmits 宏函数不需要 import 导入就可用吗?为什么defineEmits的返回值等同于$emit 方法用于在组件中抛出事件? 阅读全文
posted @ 2024-03-19 11:12 前端欧阳 阅读(173) 评论(0) 推荐(2) 编辑
摘要: 前言 我们每天写vue代码时都在用defineProps,但是你有没有思考过下面这些问题。为什么defineProps不需要import导入?为什么不能在非setup顶层使用defineProps?defineProps是如何将声明的 props 自动暴露给模板? 举几个例子 我们来看几个例子,分别 阅读全文
posted @ 2024-03-13 08:54 前端欧阳 阅读(192) 评论(0) 推荐(1) 编辑
摘要: 前言 我们每天写的vue代码都是写在vue文件中,但是浏览器却只认识html、css、js等文件类型。所以这个时候就需要一个工具将vue文件转换为浏览器能够认识的js文件,想必你第一时间就想到了webpack或者vite。但是webpack和vite本身是没有能力处理vue文件的,其实实际背后生效的 阅读全文
posted @ 2024-03-07 10:07 前端欧阳 阅读(558) 评论(0) 推荐(1) 编辑
摘要: 前言 上周五晚上8点,开开心心的等着产品验收完毕后就可以顺利上线。结果产品突然找到我说要加需求,并且维护这一块业务的同事已经下班走了,所以只有我来做。虽然内心一万头草泥马在狂奔,但是嘴里还是一口答应没问题。由于这一块业务很复杂并且我也不熟悉,加上还饿着肚子,在梳理代码逻辑的时候我差点崩溃了。需要修改 阅读全文
posted @ 2024-02-29 19:57 前端欧阳 阅读(669) 评论(4) 推荐(3) 编辑
摘要: 前言 我们每天写vue3项目的时候都会使用setup语法糖,但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的?为什么在setup顶层定义的变量可以在template中可以直接使用?为什么import一个组件后就可以直接使用,无需使用components 选项来显式注册组件? v 阅读全文
posted @ 2024-02-26 08:58 前端欧阳 阅读(618) 评论(0) 推荐(4) 编辑
摘要: 前言 从vue3开始vue引入了宏,比如defineProps、defineEmits等。我们每天写vue代码时都会使用到这些宏,但是你有没有思考过vue中的宏到底是什么?为什么这些宏不需要手动从vue中import?为什么只能在setup顶层中使用这些宏? vue 文件如何渲染到浏览器上 要回答上 阅读全文
posted @ 2024-02-19 15:50 前端欧阳 阅读(1903) 评论(2) 推荐(5) 编辑