好吧,标题有点不合适,因为其实是自己写法问题,导致组件渲染不出来。
<template>
<item v-for="item in list" :key="item.id" :info="item" />
</template>
<script setup>
import item from './components/item.vue';
// 省略....
</script>
vue2的时候习惯这样写,是没问题的,但在vue3本地开发没问题,编译到线上item组件无法显示item组件,控制台也没任何报错,排查许久,最后猜测是v-for中的item和组件item冲突了,最终确定是这个问题。
在从Vue2过渡到Vue3的过程中,开发者遇到一个组件渲染异常的问题。原本在Vue2中正常工作的v-for循环在Vue3线上环境中导致组件无法显示。经过排查,发现是因为在循环中使用了`item`作为变量名,这与组件名称`item`产生了冲突。修复这个问题后,组件成功渲染。
1173





