首页 前端知识 VUE 3 [@vue/compiler-sfc] define Props/Emits is a compiler macro and no longer needs to be imported.

VUE 3 [@vue/compiler-sfc] define Props/Emits is a compiler macro and no longer needs to be imported.

2024-05-05 12:05:52 前端知识 前端哥 427 889 我要收藏

Vue Vite 项目启动后,控制台报错:

[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.

[@vue/compiler-sfc] `defineEmits` is a compiler macro and no longer needs to be imported.

警告信息本身意思是:在 <script setup> 中直接使用defineProps\defineEmits,不需要再import。

  1. defineProps、defineEmits 是 Vue 3 的一个特性,用于为组件定义 props。在 Vue 3 中,defineProps、defineEmits 已经成为了编译器宏,不再需要显式地导入。
  2. 总之,defineProps、defineEmits  是 Vue 3 的一个特性,用于为组件定义 props。在 Vue 3 中,defineProps、defineEmits 已经成为了编译器宏,不再需要显式地导入。在使用 defineProps、defineEmits 定义 props、emits 时,它们会自动进行类型检查和默认值设置,使得组件定义更加简洁和易于维护。 

ps:

Vue 3.2 版本后不再需要手动导入 defineProps 和 defineEmits,直接使用即可,官方文档已经更新

eg: 

<script setup>
import { defineProps,defineEmits } from "vue";
.....
</script> 

修改:去掉 import 语句即可

<script setup>
    const props = defineProps({
      name: String
    })
 
    const emit = defineEmits(['del'])
    // setup code
</script>

转载请注明出处或者链接地址:https://www.qianduange.cn//article/6963.html
标签
评论
发布的文章

String转Json的几种方式

2024-05-09 11:05:04

iOS ------ JSONModel源码

2024-05-09 11:05:02

java去除 json 中的 \n, \t, \r

2024-05-09 11:05:57

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!