Vue js无法呈现自定义组件

时间:2017-06-06 19:27:02

标签: vue.js vuejs2 vue-component vuex

我正在使用此功能 - http://monterail.github.io/vue-multiselect/ 使用vue和librarie构建单个js文件,但其他代码仅在脚本标记中。组件已注册。我把一些数据放空了

enter image description here

这只是“入门”中的代码,没什么特别的。控制台中没有一个错误,只是空节点。重要的是:我在inline-template的另一个组件中使用它(upd:在root中相同)

enter image description here

这就是使用webpack创建文件的方式

window.Vue = require('vue');
window.Multiselect = require('vue-multiselect');

然后我只包含编译文件并添加脚本

<script>
    Vue.component('multiselect', Multiselect);
    new Vue({
        el: '#vue-app',
        data: {
            options: ['one', 'two'],
            model: ''
        },
        created: function () {},
        computed: {},
        methods: {}
    });
</script>

1 个答案:

答案 0 :(得分:2)

'vue-multiselect'模块应该像这样导入:

import Multiselect from 'vue-multiselect'

通过使用import,您可以将Multiselect指定为模块的默认导出值。

但是,因为您使用require,所以您将Multiselect指定为具有default属性的模块对象,该属性包含组件的配置选项。默认导出未解析,您尝试访问的值位于Multiselect.default

您应该使用import,或在定义default组件时访问'multiselect'属性:

Vue.component('multiselect', Multiselect.default);