In vuejs 2.0 model.sync
wird deprecated sein.Kommunikation zwischen Geschwisterkomponenten in VueJs 2.0
Also, was ist eine richtige Art der Kommunikation zwischen Geschwisterkomponenten in vuejs 2.0?
Wie ich die Idee in Vue 2.0 fangen ist Geschwister Kommunikation haben durch einen Laden oder ein Event-Bus.
Nach evan:
Es ist auch erwähnenswert ist „Daten zwischen den Komponenten passing“ generell eine schlechte Idee, denn am Ende wird der Datenfluss nicht protokollierbare und sehr schwer zu debuggen.
Wenn ein Teil der Daten von mehreren Komponenten gemeinsam genutzt werden muss, bevorzugen Sie global stores oder Vuex.
Und:
.once
und.sync
sind veraltet. Requisiten sind jetzt immer in einer Richtung. Um Nebenwirkungen im übergeordneten Bereich zu erzeugen, muss eine Komponente explizitemit
ein Ereignis anstelle der impliziten Bindung.
(So, er suggest ist $emit
und $on
zu verwenden)
Ich mache mir Sorgen wegen:
- Jeder
store
undevent
eine globale Sichtbarkeit (korrigieren Sie mich, wenn ich mich falsch); - Es ist zu viel, um einen neuen Laden für jede kleine Kommunikation zu schaffen;
Was ich will, ist Umfang irgendwie events
oder stores
Sichtbarkeit für Geschwister Komponenten. Oder ich habe die Idee nicht verstanden.
Also, wie kommunizieren auf richtige Weise?
'emit' $ kombiniert mit' V-Modell 'zu emulieren '.sync'. Ich denke, du solltest den Vuex Weg gehen – eltonkamami
Also habe ich die gleiche Sorge berücksichtigt. Meine Lösung besteht darin, einen Event-Emitter mit einem Broadcast-Kanal zu verwenden, der äquivalent zu "scope" ist - dh ein Kind/Eltern und Geschwister-Setup verwenden den gleichen Kanal für die Kommunikation. In meinem Fall verwende ich die Radiobibliothek http://radio.uxder.com/, weil es nur ein paar Zeilen Code ist und kugelsicher, aber viele würden den Knoten EventEmitter wählen. –