如何创建内联式简单Vue组件?解决RouterView不识别问题
解决Vue内联组件中RouterView未正确识别的问题
正确实现方式
你需要先从Vue Router中导入RouterView组件,然后在h()函数中直接传入这个组件对象,而非使用字符串'router-view'。代码示例如下:
import { defineComponent, h } from 'vue' import { RouterView } from 'vue-router' const App = defineComponent(() => () => h(RouterView, {}))
原写法失效原因
你之前用h('router-view', {})时,Vue会将其识别为原生HTML标签,但<router-view>并非原生元素,而是Vue Router提供的自定义组件,只有传入导入后的组件对象,才能被正确识别并渲染。
简化写法(可选)
如果不需要额外逻辑,还可以进一步简化:
import { h } from 'vue' import { RouterView } from 'vue-router' const App = () => h(RouterView)
内容的提问来源于stack exchange,提问作者leonheess
相关产品推荐
相关产品推荐

