vue 解決迴圈引用元件報錯的問題
阿新 • • 發佈:2018-12-11
問題由來
最近在做專案的時候遇到使用迴圈元件,因為模式一樣,只有資料不一樣。按照普通元件呼叫格式來做的時候總是報錯,錯誤資訊為[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/>' })
用上面的方法全域性引入元件就可以解決迴圈引用元件報錯的問題。