1. 程式人生 > >vue 解決迴圈引用元件報錯的問題

vue 解決迴圈引用元件報錯的問題

問題由來

最近在做專案的時候遇到使用迴圈元件,因為模式一樣,只有資料不一樣。按照普通元件呼叫格式來做的時候總是報錯,錯誤資訊為[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/>'
})

用上面的方法全域性引入元件就可以解決迴圈引用元件報錯的問題。