export default class extends Vue这种写法怎么接收父组件值
时间: 2024-10-27 20:02:41 浏览: 16
在 Vue 中,当你使用 `export default class extends Vue` 的写法创建一个组件,并想要从父组件接收值,你可以直接在构造函数或 `setup` 函数中通过 `this.$parent` 访问父组件实例。`$parent` 属性可以让你获取当前组件的直接父组件,从而获取它的 props。
例如,假设父组件有一个名为 `parentData` 的 prop,你可以在子组件里这样做:
```javascript
export default class ChildComponent extends Vue {
created() {
console.log('Parent data:', this.$parent.parentData); // 在创建阶段就尝试获取数据
}
// 或者在 setup 函数中
setup() {
const parentData = this.$parent.parentData;
// 对于需要响应式的数据,可以使用 ref 或 computed
const myComputedData = () => {
return parentData && parentData.myValue;
};
return {
myComputedData,
};
}
}
```
记得在父组件中将 `childComponent` 作为 `<template>` 内的一个元素并传入所需的数据:
```html
<template>
<div>
<ChildComponent :parentData="parentObject" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
data() {
return {
parentObject: {
myValue: 'Received from Parent',
},
};
},
};
</script>
```
阅读全文