在 Vue 中,组件之间的数据通信可以通过 props 和 events 来实现,但是要访问另一个组件中的 data 数据,可以使用 ref。
使用 ref,可以给组件指定一个唯一的名字,然后通过 this.$refs.[ref name] 来访问该组件的所有属性和方法,包括 data 数据。
例如:
<template>
<div>
<child-***ponent ref="child"></child-***ponent>
<button @click="getChildData">获取子组件数据</button>
</div>
</template>
<script>javascript">
import Child***ponent from './Child***ponent.vue'
export default {
***ponents: {
Child***ponent
},
methods: {
getChildData() {
const childData = this.$refs.child.data
console.log(childData)
}
}
}
</script>
在上面的代码中,我们将子组件 Child***ponent 加载到父组件的模板中,并指定了一个名字为 child。然后在父组件的方法 getChildData 中,可以通过 this.$refs.child.data 来访问子组件的 data 数据。
需要注意的是,使用 ref 来访问子组件的数据是不太推荐的做法,因为这会破坏组件之间的封装性。更好的做法是将需要共享的数据通过 props 和 events 在组件之间传递。