欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue如何解决循环引用组件报错的问题

程序员文章站 2024-01-15 22:09:28
问题由来 最近在做项目的时候遇到使用循环组件,因为模式一样,只有数据不一样。按照普通组件调用格式来做的时候总是报错,错误信息为[vue warn]: unknown...

问题由来

最近在做项目的时候遇到使用循环组件,因为模式一样,只有数据不一样。按照普通组件调用格式来做的时候总是报错,错误信息为[vue warn]: unknown custom element: <selfile> - did you register the component correctly? for recursive components, make sure to provide the "name" option.

解决方案

查询了网上各种资料之后,发现是循环调用组件时,组件比vue实例后创建,官方文档里写组件必须先于实例化引入,所以说组件没有正确的引入。

解决方式

解决的方式就是全局引入组件,并且在vue实例化前。

具体到我们项目中,就是在main.js里引入。

具体代码如下main.js:

import vue from 'vue'
import app from './app'
import router from './router'
import store from './store';
import iview from 'iview';
import './styles/index.less'
import {vtable,vpagination} from 'vue-easytable'
import 'vue-easytable/libs/themes-base/index.css'
import axios from './utils/axiosplugin'
import './styles/button.css'
import './styles/common.css'
// require('./mock/mock')
import selfile from './views/file/selfile.vue'

vue.use(iview);
vue.use(axios);

vue.component(vtable.name, vtable)
vue.component(vpagination.name, vpagination)
vue.component("selfile",selfile)

vue.config.productiontip = false

/* eslint-disable no-new */
new vue({
 el: '#app',
 store,
 router,
 components: { app },
 template: '<app/>'
})

用上面的方法全局引入组件就可以解决循环引用组件报错的问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。