In der Geschäftsentwicklung stoßen wir häufig auf die folgenden Situationen: Basierend auf den vom Backend zurückgegebenen Schnittstellendaten speichert das Frontend diese im Objektobjekt. Während des Frontend-Entwicklungsprozesses ist es aus praktischen Gründen erforderlich, dem Objekt entsprechende Attribute hinzuzufügen. Diese Attribute sind für das Backend jedoch bedeutungslos und wir hoffen, sie beim Speichern und Senden löschen zu können. Echter Geschäftscode: Das entsprechende async saveData (Typ, Daten) { // Zusätzliche Felder beim Senden von delete data.isCommonValue löschen data.isRemoteValue löschen warte darauf.$request({ ...API.EDIT_SERVICE, Methode: Typ === 'Hinzufügen' ? 'Posten' : 'Setzen', Daten }) } Das Obige ist eine übliche Schreibweise, in manchen Fällen ist sie jedoch nicht die beste und kann Nebenwirkungen mit sich bringen. Folgendes sei beispielhaft erläutert: BeispielUm die obige Situation besser zu demonstrieren, schreiben wir das Beispiel neu (nur zum Zweck der Veranschaulichung der Implementierung). lass Person = { ID: '001', Name: 'ligang', E-Mail: „[email protected]“ } Bitte: Beim Absenden an das Backend muss das E-Mail-Feld gelöscht werden. Methode 1: LöschenEntspricht der oben angegebenen Methode zur Geschäftscode-Verarbeitung person.email löschen console.log(Person) // {ID: '001', Name: 'ligang'} Dabei werden auch die entsprechenden Attribute in den Originaldaten gelöscht. Reflect.deleteProperty(Person, 'E-Mail') Methode 2: DekonstruktionBilden Sie neue Objekte und vermeiden Sie Nebenwirkungen, bei denen auf das Originalobjekt verwiesen wird. let {id, name} = Person let neuePerson = {id, name} console.log(neuePerson) // {id: '001', name: 'ligang'} Der Bezug zu den Originaldaten wird dadurch unterbrochen. Diese Methode ist einfach und leicht zu verstehen, wenn nur wenige Attribute beibehalten werden. Sie wird komplizierter, wenn zu viele Attribute beibehalten werden. let {email, ...neuePerson} = Person console.log(neuePerson) // {id: '001', name: 'ligang'} Der Bezug zu den Originaldaten wird dadurch unterbrochen. Diese Methode ist einfach und leicht zu verstehen, wenn eine große Anzahl von Attributen beibehalten werden soll. Sie ist jedoch komplizierter, wenn zu wenige Attribute beibehalten werden sollen. AuffüllenVue erlaubt nicht das dynamische Hinzufügen reaktionsfähiger Eigenschaften auf Stammebene zu einer bereits erstellten Instanz. Die folgenden Methoden sind ungültig! dies.$set(dies, 'E-Mail', '') dies.$set(diese.$data, 'E-Mail', '') Zusammenfassen Im tatsächlichen Gebrauch wird dringend empfohlen, Methode 2 zu verwenden, um die Originaldaten nicht zu beeinträchtigen. Insbesondere im MVVM-Framework reagieren die Originaldaten häufig. Daten () { zurückkehren { Person: Name: 'ligang', E-Mail: „[email protected]“ } } }, Methoden: { löscheProp () { diese.Person.E-Mail löschen // dies.$löschen(diese.Person, 'E-Mail') }, addProp () { diese.Person.E-Mail = "xxx" dies.$set(diese.Person, 'Adresse', 'xxx') } } 1. Führen Sie den 2. Führen Sie den 1. 2. Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Reines CSS3 zum Erstellen eines Beispielcodes für Haushühner
>>: Drei Methoden zum automatischen Vervollständigen von Befehlen in der MySQL-Datenbank
Inhaltsverzeichnis 1. Einleitung 2. Nutzung 3. En...
Inhaltsverzeichnis 1. Konzept 2. Umgebungsbeschre...
Inhaltsverzeichnis 1. JS-Objekt DOM –1, Funktion ...
Inhaltsverzeichnis 1. Flink-Übersicht 1.1 Grundle...
Docker ist eine Open-Source-Container-Engine, mit...
Inhaltsverzeichnis 1. Passen Sie den Inhalt der S...
1. Rufen Sie die Methode der übergeordneten Kompo...
Nachdem wir den transform Kurs abgeschlossen habe...
Inhaltsverzeichnis 1 Mount-Verzeichnisse und Date...
Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...
Nachdem ich herausgefunden hatte, dass der vorher...
Implementieren eines responsiven Layouts mit CSS ...
Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...
In diesem Artikel werden diese 4 Prinzipien im Hi...
<table id=" <%=var1%>">, der...