保险网站建设平台,青岛设计公司排名,网站推广优化外包,建设哪里看额度Vue3.3 新特性-defineOptions 背景说明#xff1a; 有 script setup 之前#xff0c;如果要定义 props, emits 可以轻而易举地添加一个与 setup 平级的属性。 但是用了 script setup 后#xff0c;就没法这么干了 setup 属性已经没有了#xff0c;自然无法…Vue3.3 新特性-defineOptions 背景说明 有 script setup 之前如果要定义 props, emits 可以轻而易举地添加一个与 setup 平级的属性。 但是用了 script setup 后就没法这么干了 setup 属性已经没有了自然无法添加与其平级的属性。 为了解决这一问题引入了 defineProps 与 defineEmits 这两个宏。但这只解决了 props 与 emits 这两个属性。 如果我们要定义组件的 name 或其他自定义的属性还是得回到最原始的用法——再添加一个普通的 script 标签。这样就会存在两个 script 标签。让人无法接受。 所以在 Vue 3.3 中新引入了 defineOptions 宏。顾名思义主要是用来定义 Options API 的选项。可以用 defineOptions 定义任意的选项 props, emits, expose, slots 除外因为这些可以使用 defineXXX 来做到 Vue3.3新特性-defineModel 在Vue3中自定义组件上使用v-model, 相当于传递一个modelValue属性同时触发 update:modelValue 事件 我们需要先定义 props再定义 emits 。其中有许多重复的代码。如果需要修改此值还需要手动调用 emit 函数。于是乎 defineModel 诞生了。 生效需要配置 vite.config.js
import { fileURLToPath, URL } from node:urlimport { defineConfig } from vite
import vue from vitejs/plugin-vue// https://vitejs.dev/config/
export default defineConfig({plugins: [vue({script: {defineModel: true}}),],resolve: {alias: {: fileURLToPath(new URL(./src, import.meta.url))}}
})