如何从vuejs中的另一个组件更新组件的数据属性?

如何从vuejs中的另一个组件更新组件的数据属性?

问题描述:

我有两个组件A & B,它们都不是彼此的子对象或父对象。 A有数据如何从vuejs中的另一个组件更新组件的数据属性?

export default { 
    data() { 
     return { 
      info1: 'info1' 
     } 
    } 
} 

现在我想更新从组件B. 这INFO1 proppoerty这可能吗?

+0

请您分享一下您的代码 –

+0

另请参阅本答案使用外部事件总线:https://stackoverflow.com/a/44185404/8487308 –

您可以使用$根$裁判为此,重视裁判这两种成分,如:

<component-a ref="compa"></component-a> 
<component-b ref="compb"></component-b> 

现在这里是重要的组成部分,你需要遵循的确切路径每个component.Example你要访问的组分A在B中,使用

this.$root.$children[0].$refs.compa.info1 

或这将是

this.$root.$children[0].$children[0].$refs.compa.info1 

this.$root.$children[0].$children[1].$refs.compa.info1 

根据您的应用程序和组件的相互关系。通过这种方式,您可以访问和更新组件A的info1。这是实现它的一种方法。

是的,它可能有多种方式。我建议使用Vuex来解决这个问题,因为当多个组件需要获取/更新值时,它会让事情更轻松。

Vuex是一个国家管理图书馆,因此建立你想要实现的目标。它还使开发过程中检查数值变得更容易。