requirejs加载vue同时使用iview

 require(["vue","iView"],function UserLogin(Vue,iView){
 var b = {
                template:`
                ...........//iview html
                `
                data: ....
                mothods{....}
                }
 var a = new vue(.....)
});

摸索了很久使用require加载vue同时并希望加载iview

报错

: Unknown custom element: <form-Item> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

找了很久找不到办法
请指教 orz

阅读 3.8k
3 个回答

这事我想了很久 我觉得有效的一个办法是 用webpack 把iview 打包成个 lib 通过 define 引入下面的 amdDfine 是 我定义了个全局 类似

你把这个 打包后的js 放在 requirejs 后面 使用 require(['iView'],function(iView){

})

自然会有

import Vue from 'vue'
import iView from 'iview'
import $ from "jquery"
import 'iview/dist/styles/iview.css'    // 使用 CSS

amdDefine('jquery',()=>{
    retrun $
})

amdDefine('vue',()=>{
    retrun Vue
})

amdDefine('iView',()=>{
    return iView
})

直接在main.js里面使用如下写法

import Vue from 'vue'
import iView from 'iview'
import 'iview/dist/styles/iview.css'    // 使用 CSS

Vue.use(iView);

然后可以在任意页面中使用iview的组件,另外不知道题主是否需要的是这个,如果不是请忽略。

我试过了在回调中使用vue.use(iview)

require(['vue', 'iview'], function (Vue, iview) {
      Vue.use(iview);
      var a = new Vue({
        el: '#app',
        data: {

        }
      })
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题