Vue组件引入报错解决方法

代码异常

vue.runtime.esm.js:587 [Vue warn]: Unknown custom element: <search_ui> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <FormRenderHt> at src\components\FormRender\module\form-ht.vue
       <HTUi> at src\components\FormRender\widget\element\HT.vue
         <ElRow>
           <ElForm> at packages/form/src/form.vue
             <FormRender> at src\components\FormRender\module\form.vue
               <FormRender2> at src\components\FormRender\module\form2.vue
                 <ProductEdit> at src\views\ordercreate\product\productInfoEdit.vue
                   <Index> at src\views\ordercreate\main\index.vue
                     <App> at src\App.vue
                       <Root>

原因分析

  • 组件引入方法有问题,不符合vue语法。例如 importcomponents 都需要放入引入的自定义组件。

import FormRenderHt from '@/components/FormRender/module/form-ht'
export default {
  components: { FormRenderHt },
}
  • 组件引入方法无问题,不符合vue机制。

通过对比分析,排除第一种异常情况,聚焦在第二种情况。可能的原因出现在:

  1. 异步引入产生的组件延迟引入,一个同步异步问题。(解决,修改组件引入都为异步)
  2. 组件嵌套太多,vue本身不支持这么多嵌套。(排除,支持多级嵌套)
// FormRenderHt 内部存在异步组件, FormRenderHt的引入也采用懒加载引入
const FormRenderHt = () => import('@/components/FormRender/module/form-ht')
export default {
  components: { FormRenderHt },
}

参考

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值