我正在使用Vue Router路由外部.vue文件并将它们与webpack绑定在一起 . 我有一个main.js对象来定义我的Vue实例 .
var vm = new Vue({
el: '#app',
router,
//render: h => h(App),
data:{
msg: 'Hello there'
}
});
我的部分将自己导出为模块,但我希望我的部分能够从main.js访问数据,但是他们只能从自己的数据对象访问数据 .
export default {
name: 'foo',
data () {
return {
msg: 'You have no brain'
}
}
}
所以从那个部分{}里面说你没有大脑,但我希望它在那里说你好 . 我怎么做?
2 回答
没有简单的方法可以使用其他文件中的变量 . 这是Vue,所以你需要阅读如何连接Components . 使用Properties也可以帮到你 .
请记住,所有这些都与将代码分成文件无关 . 这是一个完整的生态系统,你需要在Vue中连接东西,而不是在JS文件中:)
当您的应用程序增长并且您肯定会获得多个“共同依赖”值等时,您可能会发现这样的方法不会非常“可读” .
我建议您查看"state management" - 在Vue的例子中可能是Vuex(https://vuex.vuejs.org/en/intro.html),因为很快就需要在所有应用程序的中到大尺寸 .
否则,您可以使用"event bus"通信(https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication) . 但你可能会很快"outgrow"
希望能帮助到你...