Die vollständige Verwendung von Setup, Ref und Reactive in der Vue3-Kombinations-API

Die vollständige Verwendung von Setup, Ref und Reactive in der Vue3-Kombinations-API

1. Erste Schritte mit setUp

Stellen Sie kurz die folgenden Codefunktionen vor:
Verwenden Sie die Ref-Funktion, um Änderungen in einer Variablen zu überwachen und in der Ansicht darzustellen.
Die SetUp-Funktion ist die Einstiegsfunktion der kombinierten API. Das ist sehr wichtig.
setUp kann Änderungen in Variablen überwachen! Wir werden es nutzen
ref ist in vue integriert und muss importiert werden.

<Vorlage>
 <div>{{ AnzahlAnzahl}}</div>
 <button @click="handerFunc">Schaltfläche</button>
</Vorlage>
<Skript>
importiere {ref} von 'vue'
Standard exportieren {
  Name: "App",
  aufstellen() {
    // Dieser Satz bedeutet, dass eine Variable count definiert ist. Der Anfangswert dieser Variable ist 100
    Lassen Sie countNum = ref(100);

    // Wenn Sie in der kombinierten API eine Methode definieren möchten, müssen Sie sie nicht in Methoden definieren. Definieren Sie es einfach direkt als Funktion handerFunc(){
      // console.log(countNum); //countNum ist ein Objekt countNum.value += 10;
    }
    //In der kombinierten API definierte Methoden oder Variablen. Wenn es außerhalb benötigt wird, muss es durch return {aaa,func} return {countNum,handerFunc} verfügbar gemacht werden.
  }
}
</Skript> 

2. Verstehen Sie die Verwendung von reaktiven

Die Ref-Funktion kann nur Datenänderungen einfacher Typen überwachen.
Es ist nicht möglich, Änderungen komplexer Typen (Arrays, Objekte) zu überwachen.
So tritt unser Protagonist reaktiv auf.
Die Funktionen im Setup werden automatisch einmalig ausgeführt.

<Vorlage>
 <div>
   <ul>
     <li v-for="Artikel in satte.arr" :key="Artikel-ID">
       {{item.name }}
     </li>
   </ul>

 </div>
</Vorlage>
<Skript>
importiere {reaktiv} von 'vue'
Standard exportieren {
  Name: "App",
  aufstellen(){
    console.log("setUp wird automatisch ausgeführt")
    // Hinweise zur Ref-Funktion:
    // Die Ref-Funktion kann nur einfache Datentypen überwachen, keine komplexen Datentypen (Arrays, Objekte)
    // Die reaktive Methode enthält ein Objekt let satte=reactive({
       arr:[
         {name:"Si Teng",id:'0011'},
         {name:"Unter der Haut",id:'0011'},
         {name:"Ein hundertjähriges Versprechen",id:'0012'},
         {name:"Neues Produkt",id:'0013'},
       ]
    })
    Rückkehr { f }
  },
}
</Skript>

3. Verwenden Sie reaktive

Löschen einer Ansicht

<Vorlage>
 <div>
   <ul>
     <li v-for="(item,index) in satte.arr" :key="index" @click="del(index)">
       {{item.name }}
     </li>
   </ul>

 </div>
</Vorlage>
<Skript>
importiere {reaktiv} von 'vue'
Standard exportieren {
  Name: "App",
  aufstellen(){
    lass satte = reaktiv({
       arr:[
         {name:"Si Teng",id:'0011'},
         {name:"Unter der Haut",id:'0011'},
         {name:"Ein hundertjähriges Versprechen",id:'0012'},
         {name:"Neues Produkt",id:'0013'},
       ]
    })
    // Das angeklickte Element löschen Funktion del(index){
      für (lass i = 0; i < satte.arr.length; i++) {
        wenn(index==i){
          satte.arr.splice(i,1)
        }
      }
    }
    return { satte, del}
  },
}
</Skript> 

4. Trennen Sie die Löschlogik

Bilden Sie ein separates Modul

<Vorlage>
 <div>
   <ul>
     <li v-for="(item,index) in satte.arr" :key="index" @click="del(index)">
       {{item.name }}
     </li>
   </ul>

 </div>
</Vorlage>
<Skript>
importiere {reaktiv} von 'vue'
Standard exportieren {
  Name: "App",
  aufstellen(){
    // Die Methode onlyDelLuoJi() enthält ein Array und eine Methode; ähnlich der Dekonstruktion let {satte,del }=onlyDelLuoJi();
    
    // Der Außenwelt zugänglich machen return {sate,del}
  },
}

Funktion nurDelLuoJi(){
   let satte = reaktiv({
       arr:[
         {name:"Si Teng",id:'0011'},
         {name:"Unter der Haut",id:'0011'},
         {name:"Ein hundertjähriges Versprechen",id:'0012'},
         {name:"Neues Produkt",id:'0013'},
       ]
    })
    // Das angeklickte Element löschen Funktion del(index){
      für (lass i = 0; i < satte.arr.length; i++) {
        wenn(index==i){
          satte.arr.splice(i,1)
        }
      }
    }
    //Daten satte und Methode del verfügbar machen return { satte,del }
}
</Skript>

5. Implementieren Sie die zusätzliche Funktionalität

Übergeben von Parametern zwischen Ereignissen

<Vorlage>
 <div>
   <div>
      <Eingabetyp="Text" v-Modell="addobj.watchTv.name">
      <button @click="addHander">Hinzufügen</button>
   </div>
   
   <ul>
     <li v-for="(item,index) in satte.arr" :key="index" @click="del(index)">
       {{item.name }}
     </li>
   </ul>

 </div>
</Vorlage>
<Skript>
importiere {reaktiv} von 'vue'
Standard exportieren {
  Name: "App",
  aufstellen(){
    // Die Methode onlyDelLuoJi() enthält ein Array und eine Methode; ähnlich der Dekonstruktion let {satte,del }=onlyDelLuoJi();
    
    // Der übergebene Parameter „satte“ ist der in der Funktion „onlyDelLuoJi“ bereitgestellte „satte“. Übergeben Sie let { addobj,addHander }=OnlyaddHander(satte);

    // Der Außenwelt zugänglich machen return {sate,del,addobj, addHander}
  },
}

//Funktionsmodul hinzufügen function OnlyaddHander(satte){
  console.log('add initialisieren', satte)
    let addobj = reaktiv({
        Fernsehgerät: {
          Name:"",
          Ausweis:""
        }
     });

    Funktion addHander(){
      // Zurücksetzen und die falsche Methode löschen // satte.arr.push(addobj.watchTv)
        // addobj.watchTv.name = ""; 
        // addobj.watchTv.id = "";
        

          // Richtiger Ansatz let oldobj = Object.assign({}, addobj.watchTv)
        satte.arr.push(altes Objekt)
    }
    return { addobj, addHander }
}

//Funktionsmodul löschen nur FunktionDelLuoJi(){
  console.log('Initialisierung löschen')
   let satte = reaktiv({
       arr:[
         {name:"Si Teng",id:'0011'},
         {name:"Unter der Haut",id:'0011'},
         {name:"Ein hundertjähriges Versprechen",id:'0012'},
         {name:"Neues Produkt",id:'0013'},
       ]
    })
    // Das angeklickte Element löschen Funktion del(index){
      für (lass i = 0; i < satte.arr.length; i++) {
        wenn(index==i){
          satte.arr.splice(i,1)
        }
      }
    }
    //Daten satte und Methode del verfügbar machen return { satte,del }
}
</Skript>

6 Extrahieren Sie sie in separate Dateien

Wir möchten die Logik des Hinzufügens und Löschens in einer separaten Datei auslagern.
add.js dient zum Hinzufügen verwandter Logik
del.js ist die Löschlogik

importiere { reaktiv } von "vue"
Funktion OnlyaddHander(satte){
  console.log('add initialisieren', satte)
    let addobj = reaktiv({
        Fernsehgerät: {
          Name:"",
          Ausweis:""
        }
     });
    Funktion addHander(e){
        // Zurücksetzen und die falsche Methode löschen // satte.arr.push(addobj.watchTv)
        // addobj.watchTv.name = ""; 
        // addobj.watchTv.id = "";
        // Richtiger Ansatz let oldobj = Object.assign({}, addobj.watchTv)
        satte.arr.push(altes Objekt)
        e.preventDefault();
    }
    return { addobj, addHander }
}
Standardmäßig exportieren OnlyaddHander

adel.js

importiere { reaktiv } von "vue"
Funktion nurDelLuoJi() {
  console.log('Initialisierung löschen')
   let satte = reaktiv({
       arr:[
         {name:"Si Teng",id:'0011'},
         {name:"Unter der Haut",id:'0011'},
         {name:"Ein hundertjähriges Versprechen",id:'0012'},
         {name:"Neues Produkt",id:'0013'},
       ]
    })
    // Das angeklickte Element löschen Funktion del(index){
      für (lass i = 0; i < satte.arr.length; i++) {
        wenn(index==i){
          satte.arr.splice(i,1)
        }
      }
    }
    //Daten satte und Methode del verfügbar machen return { satte,del }
}
nur Standard exportierenDelLuoJi

Hauptdatei

<Vorlage>
 <div>
   <div>
      <Eingabetyp="Text" v-Modell="addobj.watchTv.name">
      <button @click="addHander">Hinzufügen</button>
   </div>
   
   <ul>
     <li v-for="(item,index) in satte.arr" :key="index" @click="del(index)">
       {{item.name }}
     </li>
   </ul>

 </div>
</Vorlage>
<Skript>
importiere nur DelLuoJi aus "./components/del"
importiere OnlyaddHander aus "./components/add"
Standard exportieren {
  Name: "App",
  aufstellen(){
    // Die Methode onlyDelLuoJi() enthält ein Array und eine Methode; ähnlich der Dekonstruktion let {satte,del }=onlyDelLuoJi();
    
    // Parameter übergeben let { addobj,addHander }=OnlyaddHander(satte);

    // Der Außenwelt zugänglich machen return {sate,del,addobj, addHander}
  },
}
</Skript>

Oben ist die detaillierte Verwendung von Setup, Ref und Reactive in der Vue3-Kombinations-API beschrieben. Weitere Informationen zur Vue-Kombinations-API finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Verwendung von SetUp- und Reactive-Funktionen in Vue3
  • Detaillierte Erklärung und Erweiterung von ref und reactive in Vue3
  • Vue3-Problem und -Lösung zum reaktiven Zurücksetzen

<<:  Zusammenfassung der Wissenspunkte zum MySQL ALTER-Befehl

>>:  Erläuterung der Vorsichtsmaßnahmen für die Mysql-Master-Slave-Replikation

Artikel empfehlen

Detailliertes Tutorial zum Bereitstellen von Springboot oder Nginx mit Kubernetes

1 Einleitung Nachdem „Maven Springboot mit einem ...

Mehrere Grundsätze für die Produktdesign-Referenz auf Websites

In der folgenden Analyse geht es um Produktdesign...

Inaktive Benutzer nach einem Login-Timeout in Linux automatisch abmelden

Methode 1: Ändern Sie die Datei .bashrc oder .bas...

JavaScript entfernt unnötige Eigenschaften eines Objekts

Inhaltsverzeichnis Beispiel Methode 1: Löschen Me...

Die Iframe-Aktualisierungsmethode ist bequemer

So aktualisieren Sie Iframe 1. Zum Aktualisieren k...

Verwenden Sie reines CSS, um das A-Tag in HTML ohne JavaScript zu deaktivieren

Tatsächlich ist dieses Problem bereits aufgetreten...

Eine vollständige Anleitung zum Löschen von Floats in CSS (Zusammenfassung)

1. Übergeordnetes Div definiert Pseudoklassen: af...

So führen Sie das React-Projekt auf dem offiziellen WeChat-Konto aus

Inhaltsverzeichnis 1. Verwenden Sie das „A“-Tag, ...

So generieren Sie eine Vue-Benutzeroberfläche per Drag & Drop

Inhaltsverzeichnis Vorwort 1. Technisches Prinzip...

So verwenden Sie den MySQL-Autorisierungsbefehl „grant“

Die Beispiele in diesem Artikel laufen auf MySQL ...