这个问题可能听起来很基本,但我无法弄清楚如何在VueJS中做到这一点
我在html中有以下内容
<script>
var config = {'cols':4,'color':'red'}
</script>
<div id="app">
<mycomponent :config="config"></mycomponent>
</div>
var app = new Vue({
el: '#app',
data: {
// config: config // I do not want to pass this
}
})
以下是用例:
data{ config:config }
传递。<mycomponent :config="{'cols':4,'color':'red'}"></mycomponent>
传递,但配置会很长,这将是我的最后选择。有办法做到这一点吗?
答案 0 :(得分:4)
您可以将全局成员添加到Vue本身。 更新:正如Osuwariboy在评论中指出的那样,出于某种原因,Vue在Vue的未缩小版本中没有注意到自己的名字。它需要创建一个Vue数据项,我在下面做了。
var app = new Vue({
el: '#app',
data: {
Vue
},
components: {
myComponent: {
template: '<div>{{config}}</div>',
props: ['config']
}
}
});
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.3.3/vue.min.js"></script>
<script>
Vue.$config = {'cols':4,'color':'red'}
</script>
<div id="app">
<my-component :config="Vue.$config"></my-component>
</div>