我在webpack中使用vue-loader
,并且vue-dialog.vue
文件包含<script>
,<style>
和<template>
。
当我在另一个文件中import dialog from './vue-dialog.vue
并调用new Vue(dialog)
时,我会得到一个实例。但是,如果我在其上调用.$mount()
(将其挂载到DOM),我会收到错误:
[Vue warn]: Failed to mount component: template or render function not defined.
我console.log(dialog.render)
当我console.log(instance.render)
undefined
.$mount()
时,我会在那里找到函数。
如果我在没有调用.$el
的情况下实例化该实例,则该实例没有undefined
属性,其.vue
...
我错过了什么?我怎样才能将new Vue()
文件导入到另一个文件并调用.$el
来实例化然后安装它,以便我从实例中获得{{1}}个元素?
答案 0 :(得分:0)
我认为new Vue(dialog)
不是实例化vue实例的正确方法,而是可以使用Vue.extend
进行实例化。
import dialog from './dialog.vue';
// generate a constructor
const dialogCtor = Vue.extend(dialog);
// generate a new instance based on the constructor
const vm = new dialogCtor();
// then mount it
vm.$mount('#wherever');