如圖所示.

如果不用Vuex
神器的話,如果組件比較多的情況下,還是蠻復雜的,如圖所示,如果你的數據在組件D中,而你想在組件B中控制getting
的值。
首先你要找到組件D跟組件B的共同祖先,也就是組件F,在組件F中通過props,把getting的值傳遞給組件A,然后組件A中再通過props傳遞給組件D,那么這時候如果是在組件A中或者組件F中修改getting的值,組件D中的值自然會自動變化。也就是說,想修改組件D中的getting值,只要修改祖先組件,也就是組件F中的getting值。
下面來看怎么在組件B中修改祖先,也就是組件F中的getting值,當在組件B中觸發了一個事件,比如按鈕兒點擊事件以后,在相應函數中通過發送一個信號,給上一級的組件也就是組件F,
component B
methods: {buttonClick: function() {
this.emit('event-name',false)
}
}
然后在組件F中監聽這個事件,
<component-f>
<component-b @event-name='handleEvent'>
</component-b></component-f>
在組件F中實現代碼,
methods: {event-name: function() {
this.getting = false;
}
}
這樣,組件F中的getting值就被修改了,從而他的后代組件,組件D中的getting值也會隨之變化,就達到了在其他組件中控制本組件中數據的目的。