安装组件的时候会报错:
vue.common.js?e881:481 [Vue warn]: Failed to mount component: template or render function not defined.
(found in <Root>)
试过改
vue$: 'vue/dist/vue.common.js'
以下是主要代码,项目的主要文件
// main.js
import Vue from 'vue'
import App from './App'
import router from './router'
import preview from './components/test'
Vue.config.productionTip = false
Vue.use(preview)
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
// 组件的入口文件index.js
import Vue from 'vue'
let Preview = Vue.extend(require('./vue_preview.vue'))
let myPreview = {
install: function (vue) {
let instance
instance = new Preview()
instance.vm = instance.$mount()
document.body.appendChild(instance.vm.$el)
vue.prototype.$preview = function (obj, event) {
// 拓展方法
}
}
}
export default myPreview
组件的内容:
调用组件的方式
<div class="hello" @click="$preview({item: '../assets/logo.png'})">点击预览</div>
很奇怪,在vue2.1.3使用是没有问题的,但是在2.4.2(最新)的使用就出现了这个问题