Vue2项目Local Registration出现编译错误,寻求解决方案
Vue 2局部组件注册编译错误修复方案
错误核心原因
- 局部组件注册位置错误:你在根Vue实例中注册
MyNewTest,但局部组件需要在实际使用它的父组件(maNewComp)内部注册,根实例的组件注册无法被子组件继承 maNewComp模板违反Vue 2单根节点要求:模板存在两个同级根元素,必须包裹在一个容器内main.js未导入MyNewTest组件,直接使用会导致变量未定义
修改后的代码示例
1. main.js(简化根实例配置)
import Vue from 'vue' import maNewComp from './maNewComp.vue' Vue.config.productionTip = false new Vue({ render: h => h(maNewComp) }).$mount('#app')
2. maNewComp.vue(修复模板结构+局部注册组件)
<template> <div> <h3>welcome</h3> <my-new-test></my-new-test> </div> </template> <script> // 导入需要使用的组件 import MyNewTest from './MyNewTest.vue' export default { // 在当前组件内局部注册 components: { 'my-new-test': MyNewTest } } </script>
3. MyNewTest.vue(代码无需修改)
<template> <div> <h3>{{ greeting }}</h3> </div> </template> <script> export default { data(){ return{ greeting: 'hello !' } } } </script>
内容的提问来源于stack exchange,提问作者nidhou gsm
相关产品推荐
相关产品推荐

