2017-06-06 159 views
3

我正在使用这个 - http://monterail.github.io/vue-multiselect/ 用vue和该库创建一个js文件,但其他代码只在脚本标记中。组件已注册。我把一些数据,并谈到空Vue js不渲染自定义组件

enter image description here

这只是从代码的“入门”,没什么特别的。控制台中没有任何错误,只是空的节点。我用这另一个组件内部进行inline-template:最重要的事情(UPD:即使在根相同)

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> 
+0

没有足够的上下文。请显示更多组件代码 – thanksd

+0

@thanksd我做到了。 – Fortael

+0

尝试'Vue.component('multiselect',Multiselect.default)'代替 – thanksd

回答

2

'vue-multiselect'模块,就是要引进像这样:

import Multiselect from 'vue-multiselect' 

使用import,分配Multiselect是模块的默认出口的价值。

但是,因为您使用require,因此您将Multiselect指定为模块对象,其中default属性包含组件的配置选项。默认导出未被解析,并且您尝试访问的值为Multiselect.default

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

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