2017-09-27 302 views
2

我有兩個組件A & B,它們都不是彼此的子對象或父對象。 A有數據如何從vuejs中的另一個組件更新組件的數據屬性?

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

現在我想更新從組件B. 這INFO1 proppoerty這可能嗎?

+0

請您分享一下您的代碼 –

+0

另請參閱本答案使用外部事件總線:https://stackoverflow.com/a/44185404/8487308 –

回答

1

您可以使用$根$裁判爲此,重視裁判這兩種成分,如:

<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。這是實現它的一種方法。

2

是的,它可能有多種方式。我建議使用Vuex來解決這個問題,因爲當多個組件需要獲取/更新值時,它會讓事情更輕鬆。

Vuex是一個國家管理圖書館,因此建立你想要實現的目標。它還使開發過程中檢查數值變得更容易。

相關問題