Heim  >  Artikel  >  WeChat-Applet  >  Veranstaltungen in den Grundlagen der Miniprogrammentwicklung (9)

Veranstaltungen in den Grundlagen der Miniprogrammentwicklung (9)

Y2J
Y2JOriginal
2017-04-25 09:42:391613Durchsuche

Wie bereits erwähnt, ist das WeChat-Applet-Framework eine Entwurfsmethode, die die Logikschicht und die UI-Schicht analysiert. Diese Entwurfsmethode muss zwei Probleme lösen

Die UI-Schicht reagiert auf Änderungen in der Logik und Daten der Logikschicht.
Die UI-Schicht gibt die Vorgänge des Benutzers an die Logikschicht zurück

Die zuvor erwähnte Datenbindung löst das erste Problem und die Ereignis Dann lösen Sie das zweite Problem

Was ist ein Ereignis?
Ereignisse sind die Kommunikationsmethode von der Ansichtsschicht zur Logikschicht.
Ereignisse können das Benutzerverhalten zur Verarbeitung an die Logikschicht zurückmelden.
Ereignisse können an Komponenten gebunden werden. Wenn das Triggerereignis erreicht ist, wird die entsprechende Ereignisverarbeitungsfunktion in der Logikschicht ausgeführt.
Ereignisobjekte können zusätzliche Informationen wie ID, Datensatz und Berührungen enthalten.

Zusammenfassend lässt sich sagen, dass sich ein Ereignis auf etwas bezieht, das passiert. Normalerweise führt der Benutzer einen Vorgang aus, z. B. das Klicken auf eine Schaltfläche oder das Streichen eines Fingers über den Telefonbildschirm. Wenn ein Ereignis auftritt, ruft das Framework die Ereignisbehandlungsfunktion (falls vorhanden) auf, damit sie auf Benutzervorgänge reagieren kann.

Ereignisbindung

verwendet die Ereignisbindung, um die Reaktion auf Benutzervorgänge abzuschließen. Um beispielsweise das viewtap-Ereignis des -Tags zu verarbeiten, fügen Sie , und fügen Sie dann die bindtap = 'tapName'-Funktion tapName

//wxml
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

//.js
Page({
  tapName: function(event) {
    console.log(event)
  }
})
hinzu. Das Ereignisobjekt enthält einige Daten zum Ereignis:

Ziel: die Komponente, die das Ereignis ausgelöst hat
currentTarget: aktuelle Komponente
Typ: Ereignistyp
timeStamp: Zeitstempel (die Anzahl der Millisekunden, die seit dem Öffnen der Seite vergangen sind bis zum Zeitpunkt der Auslösung des Ereignisses)
Touches: ein Array mit Berührungspunkten (Multi-Touch)
changedTouches: ein Array geänderter Berührungspunkte (Multi-Touch)
Detail: Zusätzliche benutzerdefinierte Informationen

Bubble-Ereignisse und Nicht-Bubble-Ereignisse

Warum gibt es

Ziel und currentTarget Der Unterschied besteht darin, dass Ereignisse in zwei Kategorien unterteilt sind: sprudelnde Ereignisse und nicht sprudelnde Ereignisse

sprudelnde Ereignisse: wenn eine Komponente Nachher Das Ereignis wird ausgelöst und an den übergeordneten Knoten weitergeleitet.

Nicht-Blasen-Ereignis: Wenn ein Ereignis auf einer Komponente ausgelöst wird, wird das Ereignis nicht an den übergeordneten Knoten übermittelt.

Das Ereignis

tap ist ein Bubbling-Ereignis (aus diesem Grund enthält das Ereignis im obigen Beispiel currentTarget) und Sonstiges Sprudelnde Ereignisse umfassen |. Auslöserbedingung|
| -------------|
| Die Fingerberührungsaktion wird unterbrochen.
|. Die Fingerberührungsaktion wird unterbrochen Die Berührungsaktion endet |
|. Verlassen Sie den Vorgang sofort nach dem Berühren des Fingers|
| Verlassen Sie den Vorgang nach mehr als 350 ms nach dem Berühren des Fingers|

Mit einem Sprudelereignis können Sie einige Funktionen bequemer implementieren.

Zum Beispiel verfügt das Programm über eine Ansicht, die den Avatar und den Namen des Benutzers enthält. Wenn der Benutzer auf den Avatar oder Namen klickt, wird die Seite mit den Benutzerdetails aufgerufen. Wenn kein Bubbling-Ereignis vorliegt, müssen Sie die Klickereignisse des Avatars und des Namens verarbeiten. Jetzt müssen Sie nur noch eine Komponente in die äußere Ebene einschließen und das Ereignis der Komponente verarbeiten.

Verhindern, dass das Ereignis sprudelt

In manchen Fällen möchten Sie möglicherweise verhindern, dass das Ereignis sprudelt. Sie können

Catch-Ereignisbindung

verwenden, z. B.

catchtap

können Sie das sprudelnde Verhalten von Ereignissen verhindern.

Sie können das folgende Codebeispiel verwenden, um Ihr Verständnis von Bubbling-Ereignissen zu vertiefen Versuchen Sie, die Bindungsmethode für Tap-Ereignisse von Knoten auf allen Ebenen zu ändern, um zu sehen, welche Änderungen in auftreten Ausgabeprotokolle.

Das obige ist der detaillierte Inhalt vonVeranstaltungen in den Grundlagen der Miniprogrammentwicklung (9). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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