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

Ein seltener Fehler und eine Lösung für die vollständige SQL Server-Sicherung

1. Fehlerdetails Als ich einmal manuell eine voll...

CSS zum Erzielen eines Animationseffekts der Tik Tok-Abonnementschaltfläche

Ich habe mir vor einiger Zeit Tik Tok angesehen u...

MySQL-Beispiel zum Abrufen des heutigen und gestrigen Zeitstempels 0:00

Wie unten dargestellt: Gestern: UNIX_TIMESTAMP(CA...

Detaillierter Prozess zum Konfigurieren eines HTTPS-Zertifikats unter Nginx

1. Der Unterschied zwischen HTTP und HTTPS HTTP: ...

Zwei Möglichkeiten zum Löschen von Floats in HTML

1. Methode 1 zum Löschen von Floating Legen Sie d...

MySQL-Operationen: Operationen mit JSON-Datentyp

Im vorherigen Artikel haben wir das ausführliche ...

So verwenden Sie Javascript zum Generieren glatter Kurven

Inhaltsverzeichnis Vorwort Einführung in Bézierku...

Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters

Die experimentelle Umgebung ist wie folgt Hier mü...

Implementierung der MySQL-Mehrversions-Parallelitätskontrolle MVCC

Einstellungen für die Transaktionsisolationsebene...

Schritte für Docker zum Erstellen eines eigenen lokalen Image-Repositorys

1. Umgebung und Vorbereitung 1. Ubuntu 14.04 2.Do...