English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lösung des Problems, dass das Vorherige der Vue-Browser-Rückwärtsnavigation das beforeRouteLeave nicht auslösen kann

Phänomen

Wenn die erste Komponente (hier bedeutet der erste der erste in der Browserhistorie, im Folgenden als 'zu überwachende Komponente' bezeichnet) geladen wird, kann der Übergang zu anderen Seiten normal das beforeRouteLeave-Ereignis auslösen. Aber der Rückwärtsgang des Browsers kann dieses Ereignis nicht überwachen.

Lösung

Derzeit wird eine sehr einfache und unpraktische Lösung verwendet. Ein weiteres Komponentenebene hinzufügen und router.push zur 'zu überwachenden Komponente', so dass die 'zu überwachende Komponente' nicht die erste Komponente ist, kann das beforeRouteLeave-Event normal überwachen.

Hinweis:

Da die ursprüngliche Route durcheinandergebracht wurde, muss eine globale Routenüberwachung in main.js hinzugefügt werden

router.beforeEach((to, from, next) => {
 if (to is 'Zielkomponente für den Umzug' && from is 'zu überwachender Komponente') {
  router.go(-1) 
  next(false)
 }
  next()
 }
 // So kann man, wenn man von einer normalen Seite A in den zu überwachenden Komponente geht, die Zurück-Taste im zu überwachenden Komponenten drückt, normal in A einlaufen.
}

Zusammenfassung

Das Ganze ist eine Lösung, die ich Ihnen von den Problemen mit dem nicht ausgelösten beforeRouteLeave beim Zurückblättern im Vue-Browser vorgestellt habe. Ich hoffe, es hilft Ihnen weiter!

Möchten Sie auch mögen