Heim >Web-Frontend >js-Tutorial >So verwenden Sie die Eltern-Kind-Komponente in Vue für die Kommunikation mit der Todolist-Komponente
Dieses Mal zeige ich Ihnen, wie Sie die Eltern-Kind-Komponente in Vue für die Kommunikation mit der Todolist-Komponente verwenden. Welche Vorsichtsmaßnahmen gelten für die Verwendung der Eltern-Kind-Komponente in Vue für die Kommunikation mit dem Todolist? Hier sind die tatsächlichen Fälle, werfen wir einen Blick darauf.
1. Todolist-Funktionsentwicklung
<p id="root"> <p> <input type="text" v-model="inputValue"> <button @click="handleSubmit">提交</button> </p> <ul> <li v-for="(item, index ) of list" :key="index">{{item}} </li> </ul> </p> <script> new Vue({ el:"#root", data:{ inputValue:'', list:[] }, methods:{ handleSubmit:function(){ this.list.push(this.inputValue); this.inputValue=''; } } }) </script>
2. Todolist-Komponenten aufteilen
Komponenten definieren und zwischen Komponenten kommunizieren
1. Globale Komponenten
<p id="root"> <p> <input type="text" v-model="inputValue"> <button @click="handleSubmit">提交</button> </p> <ul> <todo-item></todo-item> </ul> </p> <script> Vue.component('todo-item',{ template:'<li>item</li>' }) ...
2. Lokale Komponenten
müssen registriert werden, sonst wird ein Fehler gemeldet:
vue.js:597 [Vue warn] : Unbekanntes benutzerdefiniertes Element:
– Haben Sie die Komponente korrekt registriert? Stellen Sie sicher, dass Sie die Option „Name“ angeben.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./vue.js"></script> </head> <body> <p id="root"> <p> <input type="text" v-model="inputValue"> <button @click="handleSubmit">提交</button> </p> <ul> <todo-item></todo-item> </ul> </p> <script> //全局组件 // Vue.component('todo-item',{ // template:'<li>item</li>' // }) var TodoItem={ template:'<li>item</li>' } new Vue({ el:"#root", components:{ 'todo-item':TodoItem }, data:{ inputValue:'', list:[] }, methods:{ handleSubmit:function(){ this.list.push(this.inputValue); this.inputValue=''; } } }) </script> </body> </html>
KomponenteWert übergeben
Die übergeordnete Komponente übergibt den Wert über Attribute an die untergeordnete Komponente.
<p id="root"> <p> <input type="text" v-model="inputValue"> <button @click="handleSubmit">提交</button> </p> <ul> <todo-item v-for="(item ,index) of list" :key="index" :content="item" ></todo-item> </ul> </p> <script> Vue.component('todo-item',{ props: ['content'], //接收从外部传递进来的content属性 template:'<li>{{content}}</li>' }) new Vue({ el:"#root", data:{ inputValue:'', list:[] }, methods:{ handleSubmit:function(){ this.list.push(this.inputValue); this.inputValue=''; } } }) </script>
3. Die Beziehung zwischen Komponenten und Instanzen
neue Vue()-Instanz
Vue .component ist eine Komponente
Jede Vue-Komponente ist eine Instanz von Vue.
Jedes Vue-Projekt besteht aus Tausenden von Vue-Instanzen.
Jede Vue-Instanz ist eine Komponente, und jede Komponente ist auch eine Instanz von Vue.
4. Implementieren Sie die Funktion Löschen von todolist
Die untergeordnete Komponente benachrichtigt die übergeordnete Komponente über das Publish-Subscribe Modus.
<p id="root"> <p> <input type="text" v-model="inputValue"> <button @click="handleSubmit">提交</button> </p> <ul> <todo-item v-for="(item ,index) of list" :key="index" :content="item" :index="index" @delete='handleDelete' ></todo-item> </ul> </p> <script> Vue.component('todo-item',{ props: ['content','index'], //接收从外部传递进来的content属性 template:'<li @click="handleDeleteItem">{{content}}</li>', methods:{ handleDeleteItem:function(){ this.$emit('delete',this.index); } } }) new Vue({ el:"#root", data:{ inputValue:'', list:[] }, methods:{ handleSubmit:function(){ this.list.push(this.inputValue); this.inputValue=''; }, handleDelete:function(index){ this.list.splice(index,1);
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Wie man ein Tic-Tac-Toe-Spiel mit JS erstellt
Wie man vue2 verwendet. 0, um den Navigationsschutz zu implementieren
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Eltern-Kind-Komponente in Vue für die Kommunikation mit der Todolist-Komponente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!