我有3个名为:Main,Menu,Area作为Vue对象的类,在html中它们的设计如下所示
<div>
<main>
<menu :area="area"></menu>
<area></area>
</main>
<div>
如上所述,菜单组件使用区域组件作为prop,并且一些功能在菜单组件中工作以改变区域组件中的某些内容。我在主类
中分配了如下所示的区域属性import Vue from "vue";
import { Component, Prop } from 'vue-property-decorator';
import Area from "./area.vue";
import Menu from "./menu.vue";
@Component({
components: {
Menu,
Area
}
})
export default class Main extends Vue {
constructor() {
super();
this.area= new Area();
}
area: area;
}
然而,当我点击菜单中的一个按钮时,它应该在html上更改区域组件的属性(它实际上正在改变)。也许是因为构造函数中的实例化区域正在创建两个不同的实例,这就是答案。但我不知道如何将它们用作单个物体
由于
答案 0 :(得分:0)
由于某些代码缺失,我不确定我是否理解正确。
但通常,当您与父组件通信时,这是通过events
完成的,您不应该直接操纵父对象状态。见the documentation。如果您有non-Parent-Child Communication
,则应使用简单的Vue实例作为Bus
。