我真的很困惑数据如何在VueJS的单个文件组件中工作 . 在文件中,比如test.vue,据我所知,你会写出一个类似这样的脚本:
export default {
name: 'Testapp',
data () {
return {
msg: 'sample message'
}
}
}
然后在其他地方,比如在一个名为vuescript.js的文件中,我会把类似下面的东西放入并从一个html文件中调用它:
从“vue”导入Vue从'./test.vue'导入VApp
var vueApp = new Vue({
el: '#app',
render: h => h(VApp)
})
现在我如何访问该模板对象的数据?我想要的是在其他地方使用从服务器获取数据的代码,并且可以在多个组件之间共享,因此我将拥有一部分数据,这些数据在单个存储库中是通用的,并且我也是能够将非共享数据驻留在组件中,用于某些事情,如设置和其他元数据 .
BLUF:在查看Vue单个文件组件中如何访问/处理数据之后,我有点陷入困境 .
2 回答
组件内部的数据只能以两种方式在自身之外访问 . 事件将数据向上传播到父级,然后父级可以决定是否需要将其作为prop传递给另一个组件 . 或者它存储在Vuex中并通过getter和mutation进行访问 .
链接
Component Props
Events
Vuex Example
如果您希望数据属性由多个组件共享,则可以使用mixins .
Mixins是为Vue组件分发可重用功能的灵活方式 . mixin对象可以包含任何组件选项 . 当组件使用mixin时,mixin中的所有选项将“混合”到组件自己的选项中 .
https://vuejs.org/v2/guide/mixins.html