Heim > Web-Frontend > js-Tutorial > So verwenden Sie den Navigationsschutz von VueRouter

So verwenden Sie den Navigationsschutz von VueRouter

php中世界最好的语言
Freigeben: 2018-04-13 15:48:09
Original
1907 Leute haben es durchsucht

Dieses Mal erkläre ich Ihnen, wie Sie die Navigation von VueRouter verwenden und welche Vorsichtsmaßnahmen bei der Verwendung der Navigationswachen von VueRouter zu beachten sind. Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf . .

Einführung

Wird hauptsächlich zum Schutz der Navigation durch Springen oder Abbrechen verwendet.

Beurteilen Sie beispielsweise die Anmeldeinformationen: Alle nicht angemeldeten Benutzer springen zur Anmeldeseite. Stellen Sie fest, ob der erforderliche Vorgang ausgeführt wird. Wenn nicht, unterbrechen Sie den Sprung.

ist in drei Kategorien unterteilt: globale Wachen, Routing- Wachen und Komponentenwächter

Global Guard

beforeEach
beforeResolve
afterEach
Nach dem Login kopieren

Route Guard

beforeEnter
Nach dem Login kopieren

Komponentenschutz

beforeRouteEnter
  // 在渲染该组件的对应路由被 confirm 前调用
  // 不!能!获取组件实例 `this`
  // 因为当守卫执行前,组件实例还没被创建
  虽然无法直接获取组件实力
  但是我们可以通过next参数的回调函数获取到当前实例进行操作
  beforeRouteEnter: (to, from, next) => {
    next((vm) => {
      //vm就是当前组件实例
    });
  }
beforeRouteUpdate
  // 在当前路由改变,但是该组件被复用时调用
  // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
  // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
  // 可以访问组件实例 `this`
beforeRouteLeave
  // 导航离开该组件的对应路由时调用
  // 可以访问组件实例 `this`
Nach dem Login kopieren

Parametereinführung

An diesen Navigationswächtern beteiligte Parameter: bis, von, weiter

Mit Ausnahme des globalen Guards afterEach, der nur to und from sein muss, haben die übrigen drei Parameter

(摘抄自官网)
to: Route: 即将要进入的目标 路由对象
from: Route: 当前导航正要离开的路由
next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
  next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。
  next(false): 中断当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。
  next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。
  next(error): (2.4.0+) 如果传入 next 的参数是一个 Error 实例,则导航会被终止且该错误会被传递给 router.onError() 注册过的回调。
Nach dem Login kopieren

Betriebsmechanismus

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS implementiert die Beschriftungs-Scroll-Umschaltung

JS implementiert Mausverfolgungs-Spezialeffekte

Wie Webpack Electron-Anwendungen erstellt

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Navigationsschutz von VueRouter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage