Vue实例未在实例化时挂载

时间:2017-08-15 13:42:45

标签: javascript vue.js vuejs2 vue-component

我在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}}个元素?

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');