1. Vom Vater zum Sohn Definieren Sie das Übergeordnete Komponente <Vorlage> <div> <Hallo Welt :title="msg" /> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Komponenten: Hallo Welt, }, }; </Skript> Unterkomponenten <Vorlage> <div Klasse="hallo"> <h1>{{ Titel }}</h1> </div> </Vorlage> <Skript> Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren {}; }, }; </Skript> 2. Vom Sohn zum Vater Um einen Wert von einem untergeordneten an ein übergeordnetes Element zu übergeben, müssen Sie ein Ereignis in der untergeordneten Komponente auslösen. Rufen Sie in diesem Ereignis Unterkomponenten <Vorlage> <div Klasse="hallo"> <h1 @click="add">{{ Titel }}</h1> </div> </Vorlage> <Skript> Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren { Alter:18 }; }, Methoden: { hinzufügen(){ dies.$emit("childEvent", dies.age); } }, }; </Skript> Übergeordnete Komponente <Vorlage> <div> <HalloWelt @childEvent="parentEvent" :title="msg" /> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Methoden: { übergeordnetesEreignis(e) { konsole.log(e); }, }, Komponenten: Hallo Welt, }, }; </Skript> 3. Wertübertragung von Brother-Komponenten 1. Erstellen Sie zunächst eine importiere Vue von „vue“; exportiere standardmäßig neues Vue; 2. Führen Sie <Vorlage> <div Klasse="hallo"> <h1 @click="add">{{ Titel }}</h1> </div> </Vorlage> <Skript> Bus aus "../publicFn/bus.js" importieren; Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren { Alter:18 }; }, Methoden: { hinzufügen(){ bus.$emit("Kindereignis", dieses.Alter); } }, }; </Skript> 3. Verwenden Sie <Vorlage> <div id='swiper'> <button>Ich bin ein Knopf</button> </div> </Vorlage> <Skript> Bus aus "../publicFn/bus.js" importieren; Standard exportieren { Name:'Swiper', Daten (){ zurückkehren { } }, montiert(){ bus.$on("childEvent", (e) => { console.log(e) }) } } </Skript> 4. Übergeordnete Komponenten verwenden Daten und Methoden untergeordneter Komponenten 1. Schreiben Sie das 2. Die übergeordnete Komponente kann über Übergeordnete Komponente <Vorlage> <div> <HalloWelt :title="msg" ref="hallo" /> <button @click="parentEvent">Ich bin Vater</button> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Methoden: { übergeordnetesEreignis() { dies.$refs.hello.add(); Konsole.log(dies.$refs.hello.age); }, }, Komponenten: Hallo Welt }, }; </Skript> Unterkomponenten <Vorlage> <div Klasse="hallo"> <h1>{{ Titel }}</h1> </div> </Vorlage> <Skript> Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren { Alter:18 }; }, Methoden: { hinzufügen(){ console.log("Ich bin eine untergeordnete Komponente"); } }, }; </Skript> 5. Untergeordnete Komponenten verwenden die Daten und Methoden übergeordneter Komponenten In einer untergeordneten Komponente können Sie mit Übergeordnete Komponente <Vorlage> <div> <HalloWelt :title="msg" ref="hallo" /> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Methoden: { übergeordnetesEreignis() { console.log("Ich bin die Methode der übergeordneten Komponente"); }, }, Komponenten: Hallo Welt }, }; </Skript> Unterkomponenten <Vorlage> <div Klasse="hallo"> <h1 @click="add">{{ Titel }}</h1> </div> </Vorlage> <Skript> Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren { Alter:18 }; }, Methoden: { hinzufügen(){ Konsole.log(dies.$parent.msg) dies.$parent.parentEvent(); } }, }; </Skript> 6. Vuex-Wertübertragung 6.1, definieren Sie den Laden importiere Vue von „vue“; importiere Vuex von „vuex“; Vue.use(Vuex); exportiere standardmäßig neuen Vuex.Store({ Zustand: { Schule: "Tsinghua-Universität", a:"nett" }, Getter: { returnVal(Zustand) { returniere Staat.Schule + Staat.a; }, }, Mutationen: Schuleändern(Staat, Wert) { Staat.Schule = Wert; console.log('Änderung erfolgreich'); }, }, Aktionen: {}, Module: {} }); 6.2, Montieren importiere Vue von „vue“; App aus „./App.vue“ importieren; Router aus "./router" importieren; Store aus "./store" importieren; importiere ElementUI von „element-ui“; importiere "element-ui/lib/theme-chalk/index.css"; importiere publicFn aus "./publicFn/publicFn"; Vue.config.productionTip = falsch const url = Prozess.Umgebung.VUE_APP_URL; Vue.prototype.$url = URL; Vue.prototype.$publicFn = publicFn; Vue.use(ElementUI); neuer Vue({ Router, speichern, rendern: h => h(App), }).$mount('#app') 6.3, Nutzung <Vorlage> <div Klasse="hallo"> <h1 @click="add">{{ Titel }}</h1> </div> </Vorlage> <Skript> Standard exportieren { Name: "Hallo Welt", Requisiten: ["Titel"], Daten() { zurückkehren { Alter:18 }; }, Methoden: { hinzufügen(){ console.log(this.$store.state.school);//Wert abrufen//this.$store.commit('changeSchool', 'Peking University');//Wert ändern// console.log(this.$store.getters.returnVal)//Gefilterten Wert abrufen} }, }; </Skript> 7. Routing-Wert7.1 Werte per Abfrage übergeben Hinweis: Bei dieser Methode gehen die Seitenaktualisierungsparameter nicht verloren und die Parameter werden nach der Adressleiste angezeigt: Seite A <Vorlage> <div> <HalloWelt :title="msg" ref="hallo" /> <button @click="parentEvent">Springen</button> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Methoden: { übergeordnetesEreignis() { dies.$router.push({ Pfad:"/conter", Name: 'Zähler', Abfrage:{ Nr.: 10086, Name: „Peng Duoduo“ } }) }, }, Komponenten: Hallo Welt }, }; </Skript> Seite B <Vorlage> <div id='Zähler'> </div> </Vorlage> <Skript> Standard exportieren { Name: 'Zähler', Daten (){ zurückkehren { } }, erstellt (){ Konsole.log(diese.$route.query.id, diese.$route.query.name); }, } </Skript> 7.2 Werteübergabe über Parameter Hinweis: Wenn Sie die Seite auf diese Weise aktualisieren, gehen die Parameter verloren, sie können jedoch empfangen und im A-Seite <Vorlage> <div> <HalloWelt :title="msg" ref="hallo" /> <button @click="parentEvent">Springen</button> </div> </Vorlage> <Skript> importiere HelloWorld aus "../components/HelloWorld.vue"; Standard exportieren { Name: "Home", Daten() { zurückkehren { msg: "Musik suchen", }; }, Methoden: { übergeordnetesEreignis() { dies.$router.push({ Pfad:"/conter", Name:"Zähler", Parameter: { Nr.: 10086, Name: „Peng Duoduo“ } }) }, }, Komponenten: Hallo Welt }, }; </Skript> Seite B <Vorlage> <div id='Zähler'> </div> </Vorlage> <Skript> Standard exportieren { Name: 'Zähler', Daten (){ zurückkehren { } }, erstellt (){ Konsole.log(diese.$route.params.id, diese.$route.params.name); }, } </Skript> Damit ist dieser Artikel über die sieben Wertübertragungsmethoden von Vue abgeschlossen. Weitere Informationen zu den Wertübertragungsmethoden von Vue finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Detaillierte Erklärung der grundlegenden Verwendung des SSH-Befehls ssh-keygen
2.1 Semantisierung sorgt dafür, dass Ihre Webseit...
Um den Lastenausgleich zu verstehen, müssen Sie s...
Inhaltsverzeichnis Die erste Methode: Router-Link...
Portainer ist eine leichtgewichtige Benutzeroberf...
Dieser Fehler tritt häufig bei Anfängern auf. Die...
** Installieren Sie mysql-8.0.20 unter Linux ** U...
1. Big Data und Hadoop Um Big Data zu studieren u...
Technischer Hintergrund Latex ist ein unverzichtb...
Das 404-Problem tritt im Tomcat-Test auf. Die Pro...
Inhaltsverzeichnis 1 Installieren Sie Docker im B...
Inhaltsverzeichnis 1. Grundlagen 1.Referenz 2. to...
CSS-Medienabfragen haben ein sehr praktisches Sei...
1. Fügen Sie ein leeres Element desselben Typs hi...
mysql-5.7.17.msi Installation, folgen Sie den Scr...
Kürzlich habe ich ein Spark-Streaming-Programm in...