如何从vuejs中的另一个组件更新组件的数据属性?
问题描述:
我有两个组件A & B,它们都不是彼此的子对象或父对象。 A有数据如何从vuejs中的另一个组件更新组件的数据属性?
export default {
data() {
return {
info1: 'info1'
}
}
}
现在我想更新从组件B. 这INFO1 proppoerty这可能吗?
答
您可以使用$根$裁判为此,重视裁判这两种成分,如:
<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是一个国家管理图书馆,因此建立你想要实现的目标。它还使开发过程中检查数值变得更容易。
请您分享一下您的代码 –
另请参阅本答案使用外部事件总线:https://stackoverflow.com/a/44185404/8487308 –