Heim  >  Artikel  >  Web-Frontend  >  So schließen Sie die mittleren Seiten in der Uniapp-Entwicklung

So schließen Sie die mittleren Seiten in der Uniapp-Entwicklung

PHPz
PHPzOriginal
2023-04-18 15:19:231637Durchsuche

Während des Entwicklungsprozesses von uniapp müssen wir die Seite oft schließen. Aber wie schließt man beim Schließen der Seite nur die mittleren Seiten? In diesem Artikel wird erläutert, wie diese Funktion in der Uniapp-Entwicklung implementiert wird.

Schritt eins: Den Seitenstapel verstehen

In uniapp können wir uni.navigateTo und uni.redirectTo verwenden, um zur Seite zu springen, und wir können auch uni.navigateBack verwenden um zur vorherigen Seite zurückzukehren. Eine Seite. Beim Springen und Zurückkehren zu Seiten spielt der Seitenstapel eine wichtige Rolle.

Der Seitenstapel ist ein Array, das alle Seiten im aktuellen Seitenstapel speichert. Über den Seitenstapel können wir zwischen Seiten springen, Parameter übergeben und die Seite schließen.

Standardmäßig beginnt der Seitenstapel auf der Startseite (d. h. app.vue) und die oberste Seite wird am Ende des Seitenstapels platziert.

Zum Beispiel springen wir über uni.navigateTo zu Seite A und dann über uni.navigateTo auf Seite A zu Seite B. Zu diesem Zeitpunkt ist die Struktur des Seitenstapels wie folgt:

[ home, A, B ]

Unter diesen ist Home die Startseite und die oberste Seite ist B. Wenn wir auf Seite B zu Seite A zurückkehren möchten, können wir dies über die Funktion uni.navigateBack() tun.

Wenn wir Seite B schließen und gleichzeitig zu Seite A zurückkehren möchten, wie erreichen wir das? Dies erfordert, dass wir den Seitenstapel bedienen.

Schritt 2: Bearbeiten Sie den Seitenstapel

Wir können alle Seiten über uni.reLaunch schließen und die Zielseite in einer geöffneten Seite erneut öffnen. Aber das ist nicht das, was wir brauchen, da wir nur die mittlere Seite schließen wollen.

In uniapp können Sie den aktuellen Seitenstapel über die Methode uni.getCurrentPages() abrufen. Diese Methode gibt ein Array zurück, das alle Seiten im aktuellen Seitenstapel speichert. Über dieses Array können wir den Seitenstapel bearbeiten.

Zunächst können wir den Status des aktuellen Seitenstapels über getCurrentPages() abrufen:

let pages = getCurrentPages()

Zu diesem Zeitpunkt speichert das Seitenarray alle Seiten auf der Seite Stapel. Wenn wir die aktuelle Seite und die vorherige Seite im Seitenstapel schließen möchten, können wir das so machen:

let pages = getCurrentPages()
let currentPage = pages[pages.length - 1]
let prePage = pages[pages.length - 2]
currentPage.$destroy()
uni.navigateBack({
  delta: 1,
  success: function () {
    prePage.setData({
      foo: 'bar'
    })
  }
})

In diesem Code erhalten wir zunächst den Status des aktuellen Seitenstapels. Anschließend werden die Instanzen der aktuellen Seite und der vorherigen Seite über currentPage bzw. prePage abgerufen. Anschließend kann das Instanzobjekt der aktuellen Seite über die Methode $destroy() zerstört werden.

Verwenden Sie abschließend die Methode uni.navigateBack(), um zur vorherigen Seite zurückzukehren und die Daten auf der vorherigen Seite zu ändern.

Wenn Sie mehrere Seiten schließen möchten, können Sie die Seiten einzeln schließen, indem Sie sie durchlaufen. Wenn Sie beispielsweise die aktuelle Seite, die vorherige Seite und die vorherige Seite schließen möchten, können Sie dies folgendermaßen tun:

let pages = getCurrentPages()
for (let i = 0; i < 3; i++) {
  let currentPage = pages[pages.length - 1 - i]
  currentPage.$destroy()
}
uni.navigateBack({
  delta: 2,
  success: function () {
    // do something
  }
})

Auf diese Weise können Sie die Funktion realisieren, nur die Mitte zu schließen Seiten.

Zusammenfassung

Bei der Uniapp-Entwicklung ist der Seitenstapel ein sehr wichtiges Konzept. Durch das Verständnis des Seitenstapels können wir Funktionen wie das Springen zwischen Seiten, das Übergeben von Parametern und das Schließen von Seiten realisieren.

Um die mittleren Seiten zu schließen, können Sie die Methode getCurrentPages() verwenden, um den Status des aktuellen Seitenstapels abzurufen, die Seiten einzeln durch Schleifendurchlauf zu schließen und schließlich uni.navigateBack( )-Methode, um zur vorherigen Seite einer Seite zurückzukehren.

Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonSo schließen Sie die mittleren Seiten in der Uniapp-Entwicklung. 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