组件之间相互嵌套调用导致组件注册名找不到报错

2 篇文章 0 订阅
2 篇文章 0 订阅
当Vue应用中A组件调用B,B调用C,而C组件又递归调用自身时,会导致控制台抛出未知组件的警告。为了解决这个问题,可以在components文件夹下创建一个名为layoutModule的组件,并在main.js中全局注册。首先,创建layoutModule组件模板并定义数据。然后,在main.js中导入并注册该组件。最后,在需要使用的地方引入注册的全局组件。
摘要由CSDN通过智能技术生成

场景:
存在A、B、C三个组件,A有调用B,B有调用C,C会调用自身,同一个子组件被多次调用,就导致控制台抛错

[Vue warn]: Unknown custom element: - did you register
the component correctly? For recursive components, make sure to
provide the “name” option.

解决方案:
注册全局组件:
1、在components文件夹下创建layoutModule组件

<template>
    <div>
        {{msg}}
    </div>    
</template>
<script>
export default {
    data() {
        return {
            msg:'组件内容'
        }
    }
}
</script>

2、在main.js文件中引入自定义组件并注册

import layoutModule from '@/components/layoutModule/'
Vue.component('layoutModule', layoutModule)

new Vue({
  el: '#app'
  render: h => h(App)
})

3、引入使用

<layout-module></layout-module>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在Vue中引入组件时,如果出现不到组件错误,通常是由于以下几个原因导致的: 1. 组件路径错误:首先要确保引入组件的路径是正确的。需要检查组件的相对路径是否正确,例如是否使用正确的相对路径或绝对路径。 2. 组件命名错误:要引入的组件可能存在命名错误。需仔细检查组件的命名是否正确,包括大小写和拼写。 3. 组件文件不存在:如果引入的组件文件不存在,就会出现不到组件错误。需要检查组件文件是否存在,以及文件名是否正确。 4. 组件未导出:Vue组件需要在文件中使用export default导出。如果组件文件没有正确导出组件,就会出现不到组件错误。需要检查组件是否有正确导出。 5. 组件未全局注册:如果没有将组件全局注册,就会出现不到组件错误。在使用组件之前,需要使用Vue.component或Vue.use全局注册组件。如果是通过子组件引入,需要确保父组件在引入子组件之前已经注册了。 如果上述问题都没有导致错误,可以尝试删除缓存并重新安装依赖。可以运行npm cache clean命令清除缓存,然后运行npm install重新安装依赖。 总之,引入组件不到错误可能由于文件路径错误、命名错误、文件不存在、组件未导出或未全局注册等原因导致。需要逐一检查这些可能的问题,并且根据情况采取相应的纠正措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值