Inhaltsverzeichnis
benötigen, schauen Sie sich zunächst ein Beispiel an:
Heim WeChat-Applet Mini-Programmentwicklung Grundlagen der Miniprogrammentwicklung: Datenbindung (8)

Grundlagen der Miniprogrammentwicklung: Datenbindung (8)

Apr 25, 2017 am 09:40 AM

Das Tutorial wird vom WeChat Mini-Programmentwicklungs-Tutorial (Grundlagen) 7-Datenbindung fortgesetzt. Wenn Sie einen Datensatz anzeigen müssen, können Sie wx:for

//.wxml
<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>

//.js
age({
  data: {
    array: [{
      message: &#39;foo&#39;,
    }, {
      message: &#39;bar&#39;
    }]
  }
})
Nach dem Login kopieren

verwenden, wobei index der ist aktuelle Daten. Der Standardvariablenname des Index, item ist der Standardvariablenname des aktuellen Datenelements.
Sie können auch wx:for-item und wx:for-index verwenden, um Aliase anzugeben.

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
  {{idx}}: {{itemName.message}}
</view>
Nach dem Login kopieren

kann beispielsweise auch verschachtelt werden > ist ähnlich

, Sie können auch
<view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="i">
  <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="j">
    <view wx:if="{{i <= j}}">
      {{i}} * {{j}} = {{i * j}}
    </view>
  </view>
</view>
Nach dem Login kopieren
für das -Tag verwenden, um einen Strukturblock mit mehreren Knoten zu rendern

block wx:ifwx:forwx:key

<block wx:for="{{[1, 2, 3]}}">
  <view> {{index}}: </view>
  <view> {{item}} </view>
</block>
Nach dem Login kopieren
To Verstehen Sie, warum. Wenn Sie

benötigen, schauen Sie sich zunächst ein Beispiel an:

wx:keyDer obige Code erstellt zwei

Kontrollkästchen
//.wxml
<checkbox wx:for="{{objectArray}}" value="{{item.name}}" style="display: block;"> {{item.name}} </checkbox>
<button bindtap="addToFront">在上方添加一个新的check组件</button>

//.js
Page({
  data: {
    objectArray: [
      {id: 1, name: &#39;我没有被选中&#39;},
      {id: 2, name: &#39;我没有被选中&#39;},
    ],
  },

  addToFront: function(e) {
    const length = this.data.objectArray.length
    this.data.objectArray = [{id: length, name: &#39;我没有被选中&#39;}].concat(this.data.objectArray)
    this.setData({
      objectArray: this.data.objectArray
    })
  },
})
Nach dem Login kopieren
-Komponenten und eine Schaltfläche 🎜> wird oben hinzugefügt 🎜>Komponenten.

Kompilieren Sie den Code und die folgende Schnittstelle wird angezeigt:checkbox

Schreiben Sie hier die BildbeschreibungGrundlagen der Miniprogrammentwicklung: Datenbindung (8)
Klicken Sie auf die Schaltfläche und die Schnittstelle wird angezeigt sein wie folgt:

Schreiben Sie hier die BildbeschreibungGrundlagen der Miniprogrammentwicklung: Datenbindung (8)
ok, hier ist alles normal, um das Problem besser zu erklären Verarbeitung des Kontrollkästchen-Auswahlereignisses. Ändern Sie den Text in „Ich wurde ausgewählt“. Der entsprechende Code lautet wie folgt:

Wenn das erste Kontrollkästchen ausgewählt ist, ist die Schnittstelle wie folgt folgt

//wxml
<checkbox-group bindchange="checkboxChange">
  <checkbox wx:for="{{objectArray}}" value="{{item.id}}" style="display: block;" > {{item.name}} 
  </checkbox>
</checkbox-group>

<button bindtap="addToFront">在上方添加一个新的check组件</button>

//js
Page({
  data: {
    objectArray: [
      {id: 1, name: &#39;我没有被选中&#39;},
      {id: 2, name: &#39;我没有被选中&#39;},
    ],
  },

  addToFront: function(e) {
    const length = this.data.objectArray.length
    this.data.objectArray = [{id: length + 1, name: &#39;我没有被选中&#39;}].concat(this.data.objectArray)
    this.setData({
      objectArray: this.data.objectArray
    })
  },
  checkboxChange: function(e){
    console.log(&#39;checkboxChange&#39;)
    const length = this.data.objectArray.length
    let checkBoxArray = this.data.objectArray
    for (let i = 0; i < length; i++) {
       let ischecked = false
       for (let j = 0; j < e.detail.value.length; j++){
          if (checkBoxArray[i].id == e.detail.value[j]){
              checkBoxArray[i].name = &#39;我被选中了&#39;
              ischecked = true
          }
       }
       if (!ischecked){
         checkBoxArray[i].name = &#39;我没有被选中&#39;
       }
    }
    this.setData({
      objectArray: this.data.objectArray
    })
  }
})
Nach dem Login kopieren


Schreiben Sie hier die BildbeschreibungGrundlagen der Miniprogrammentwicklung: Datenbindung (8)
Was passiert, wenn Sie auf die Schaltfläche „Komponente hinzufügen“ klicken? Der erwartete Effekt sollte wie folgt sein folgt

Hier eine Bildbeschreibung schreiben Grundlagen der Miniprogrammentwicklung: Datenbindung (8)
Der tatsächliche Effekt ist jedoch wie im Bild unten

Schreiben Sie hier eine Bildbeschreibung Grundlagen der Miniprogrammentwicklung: Datenbindung (8)
und Sie können das Rendering sehen. Die Engine hat den ausgewählten Effekt nicht an die Daten gebunden, was zu unerwarteten Ergebnissen führte. Wenn Sie den gewünschten Effekt erzielen möchten, müssen Sie die .wxml-Datei wie im obigen Code gezeigt mit

ändern, um den gewünschten Effekt zu erzielen > wx:key

<checkbox-group bindchange="checkboxChange">
  <checkbox wx:for="{{objectArray}}" wx:key = "id" value="{{item.id}}" style="display: block;" > {{item.name}} 
  </checkbox>
</checkbox-group>

<button bindtap="addToFront">在上方添加一个新的check组件</button>
Nach dem Login kopieren
Wenn sich die Position der Elemente in der Liste dynamisch ändert oder neue Elemente zur Liste hinzugefügt werden und Sie möchten, dass die Elemente in der Liste ihre eigenen Eigenschaften und ihren eigenen Status beibehalten (z. B. < ;input/>

Eingabeinhalt, ausgewählter Status), müssen Sie wx:key = "id" verwenden, um die eindeutige Kennung des Elements in der Liste anzugeben. Der Wert von

wird in zwei Formen bereitgestellt:
1 Zeichenfolge, die eine Eigenschaft des Elements im Array der for-Schleife darstellt. Der Wert der Eigenschaft muss die einzige Zeichenfolge oder Zahl sein in der Liste und kann nicht dynamisch geändert werden. wx:key2 Reservierte Schlüsselwörter

repräsentieren das Element selbst in der for-Schleife. Diese Darstellung erfordert, dass das Element selbst eine eindeutige Zeichenfolge oder Zahl ist.

wx:key
Das Obige stammt aus dem offiziellen WeChat-Tutorial . Zusätzlich zur Beibehaltung des Zustands der Ansichtskomponenten kann die Verwendung von
auch dazu beitragen, die Rendering-Effizienz zu verbessern. *this

Wenn Datenänderungen ein erneutes Rendern der Rendering-Ebene auslösen, werden Komponenten mit Keys und Frames korrigiert Stellt sicher, dass sie neu angeordnet und nicht neu erstellt werden, um sicherzustellen, dass die Komponente ihren eigenen Status beibehält und die Effizienz der Listenwiedergabe verbessert.

wx:key

Das obige ist der detaillierte Inhalt vonGrundlagen der Miniprogrammentwicklung: Datenbindung (8). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie die Datenbindungsfunktion in SwiftUI mithilfe von MySQL So implementieren Sie die Datenbindungsfunktion in SwiftUI mithilfe von MySQL Jul 30, 2023 pm 12:13 PM

So implementieren Sie MySQL zur Datenbindungsfunktion in SwiftUI. Bei der SwiftUI-Entwicklung kann die Datenbindung eine automatische Aktualisierung von Schnittstellen und Daten realisieren und so die Benutzererfahrung verbessern. Als beliebtes relationales Datenbankverwaltungssystem kann MySQL große Datenmengen speichern und verwalten. In diesem Artikel wird erläutert, wie Sie MySQL zum Implementieren der Datenbindungsfunktion in SwiftUI verwenden. Wir werden die Drittanbieter-Bibliothek MySQLConnector von Swift nutzen, die Verbindungen und Abfragen zu MySQL-Daten bereitstellt.

Detaillierte Erläuterung der Datenbindungsfunktionen in der Vue-Dokumentation Detaillierte Erläuterung der Datenbindungsfunktionen in der Vue-Dokumentation Jun 20, 2023 pm 10:15 PM

Vue ist ein Open-Source-JavaScript-Framework, das hauptsächlich zum Erstellen von Benutzeroberflächen verwendet wird. Der Kern von Vue ist die Datenbindung, die eine bequeme und effiziente Möglichkeit bietet, eine bidirektionale Bindung zwischen Daten und Ansichten zu erreichen. Der Datenbindungsmechanismus von Vue wird über einige spezielle Funktionen verwaltet. Diese Funktionen können uns dabei helfen, die Daten in der Vorlage automatisch an die entsprechenden Eigenschaften im JavaScript-Objekt zu binden, sodass die Daten in der Vorlage automatisch geändert werden, wenn die Eigenschaften im JavaScript-Objekt geändert werden

So verwenden Sie die v-once-Direktive in Vue, um ein einmaliges Rendern der Datenbindung zu erreichen So verwenden Sie die v-once-Direktive in Vue, um ein einmaliges Rendern der Datenbindung zu erreichen Jun 11, 2023 pm 01:56 PM

Vue ist ein beliebtes Front-End-JavaScript-Framework, das viele Anweisungen zur Vereinfachung des Datenbindungsprozesses bereitstellt. Eine der sehr nützlichen Anweisungen ist v-once. In diesem Artikel befassen wir uns mit der Verwendung der v-once-Direktive und der Implementierung von datengebundenem einmaligem Rendering in Vue. Was ist die V-Once-Anweisung? v-once ist eine Direktive in Vue. Ihre Funktion besteht darin, die Rendering-Ergebnisse von Elementen oder Komponenten zwischenzuspeichern, damit ihr Rendering-Prozess bei nachfolgenden Aktualisierungen übersprungen werden kann.

Vue-Fehler: Das V-Modell kann für die bidirektionale Datenbindung nicht korrekt verwendet werden. Vue-Fehler: Das V-Modell kann für die bidirektionale Datenbindung nicht korrekt verwendet werden. Aug 19, 2023 pm 08:46 PM

Vue-Fehler: Das V-Modell kann für die bidirektionale Datenbindung nicht korrekt verwendet werden. Einführung: Die bidirektionale Datenbindung ist eine sehr häufige und leistungsstarke Funktion bei der Entwicklung mit Vue. Manchmal kann es jedoch zu Problemen kommen. Wenn wir versuchen, das V-Modell für die bidirektionale Datenbindung zu verwenden, tritt ein Fehler auf. Dieser Artikel beschreibt die Ursache und Lösung dieses Problems und zeigt anhand eines Codebeispiels, wie das Problem gelöst werden kann. Problembeschreibung: Wenn wir versuchen, das V-Modell in Vue zu verwenden

PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen Jul 04, 2023 pm 04:48 PM

PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen. Mit der Beliebtheit von Miniprogrammen und der Erweiterung ihres Anwendungsbereichs stellen Benutzer höhere Anforderungen an die Funktionen und Sicherheit von Miniprogrammen sind ein wichtiger Teil der Gewährleistung der Sicherheit von Miniprogrammen. Durch die Verwendung von PHP zur Berechtigungsverwaltung und Benutzerrolleneinstellung in Miniprogrammen können Benutzerdaten und Privatsphäre wirksam geschützt werden. Im Folgenden wird erläutert, wie diese Funktion implementiert wird. 1. Implementierung des Berechtigungsmanagements Unter Berechtigungsmanagement versteht man die Gewährung unterschiedlicher Betriebsberechtigungen basierend auf der Identität und Rolle des Benutzers. in klein

PHP-Seitensprung- und Routing-Management in der Miniprogrammentwicklung PHP-Seitensprung- und Routing-Management in der Miniprogrammentwicklung Jul 04, 2023 pm 01:15 PM

PHPs Seitensprung- und Routing-Management bei der Entwicklung von Miniprogrammen Mit der rasanten Entwicklung von Miniprogrammen beginnen immer mehr Entwickler, PHP mit der Entwicklung von Miniprogrammen zu kombinieren. Bei der Entwicklung kleiner Programme sind Seitensprung und Routing-Management sehr wichtige Teile, die Entwicklern dabei helfen können, Umschalt- und Navigationsvorgänge zwischen Seiten zu erreichen. Als häufig verwendete serverseitige Programmiersprache kann PHP gut mit Miniprogrammen interagieren und Daten übertragen. Werfen wir einen detaillierten Blick auf die Seitensprung- und Routing-Verwaltung von PHP in Miniprogrammen. 1. Seitensprungbasis

So implementieren Sie die Entwicklung und Veröffentlichung kleiner Programme in Uniapp So implementieren Sie die Entwicklung und Veröffentlichung kleiner Programme in Uniapp Oct 20, 2023 am 11:33 AM

So entwickeln und veröffentlichen Sie Miniprogramme in Uni-App Mit der Entwicklung des mobilen Internets sind Miniprogramme zu einer wichtigen Richtung in der Entwicklung mobiler Anwendungen geworden. Als plattformübergreifendes Entwicklungsframework kann Uni-App die gleichzeitige Entwicklung mehrerer kleiner Programmplattformen wie WeChat, Alipay, Baidu usw. unterstützen. Im Folgenden wird detailliert beschrieben, wie Sie mit Uni-App kleine Programme entwickeln und veröffentlichen, und es werden einige spezifische Codebeispiele bereitgestellt. 1. Vorbereitung vor der Entwicklung kleiner Programme Bevor Sie mit der Entwicklung kleiner Programme mit uni-app beginnen, müssen Sie einige Vorbereitungen treffen.

PHP-Sicherheitsschutz und Angriffsprävention bei der Entwicklung von Miniprogrammen PHP-Sicherheitsschutz und Angriffsprävention bei der Entwicklung von Miniprogrammen Jul 07, 2023 am 08:55 AM

PHP-Sicherheitsschutz und Angriffsprävention bei der Entwicklung von Miniprogrammen Mit der rasanten Entwicklung des mobilen Internets sind Miniprogramme zu einem wichtigen Bestandteil des Lebens der Menschen geworden. Als leistungsstarke und flexible Backend-Entwicklungssprache wird PHP auch häufig bei der Entwicklung kleiner Programme eingesetzt. Allerdings waren Sicherheitsfragen schon immer ein Aspekt, der bei der Programmentwicklung berücksichtigt werden muss. Dieser Artikel konzentriert sich auf den PHP-Sicherheitsschutz und die Angriffsprävention bei der Entwicklung von Miniprogrammen und stellt einige Codebeispiele bereit. XSS (Cross-Site-Scripting-Angriff) verhindert XSS-Angriffe, wenn Hacker bösartige Skripte in Webseiten einschleusen

See all articles