ホームページ >ウェブフロントエンド >jsチュートリアル >Vue-router には JavaScript にどのようなフックとアプリケーションがありますか?
この記事の内容は、Vue-router が JavaScript にどのようなフックとアプリケーションを備えているかについてです。困っている友人は参考にしていただければ幸いです。
Vue-router にはどのようなフックがありますか?使われるシーンは?
ルーターの実装は、ここをクリックできます。
以前、この言語でのフックとは何かについて説明しましたが、ここでも繰り返します。何が前で、何が後、英語ではフックと呼ばれます。専門家であればライフサイクル、気取った人であればガードと呼ばれます...
フックの概念は vue-router にも存在します。メモリの 3 つのステップに分割されます
グローバル ガード
ルート排他的ガード
コンポーネント排他的ガード
const router = new VueRouter({ ... }) // to 要进入的目标路由对象 // from 当前的路由对象 // next resolve 这个钩子,next执行效果由next方法的参数决定 // next() 进入管道中的下一个钩子 // next(false) 中断当前导航 // next({path}) 当前导航会中断,跳转到指定path // next(error) 中断导航且错误传递给router.onErr回调 // 确保前置守卫要调用next,否然钩子不会进入下一个管道 router.beforeEach((to, from, next) => { // ... })
// 与前置守卫基本相同,不同是没有next参数 router.afterEach((to, from) => { // ... })
ルート排他的ガード
const router = new VueRouter({ routes: [ { path: '/', component: Demo, beforeEnter: (to, from, next) => { // ... }, afterEnter: (to, from, next) => { // ... }, } ] })
コンポーネント排他的ガード
const Demo = { template: `...`, beforeRouteEnter (to, from, next) { ... }, // 在当前路由改变,但是该组件被复用时调用 beforeRouteUpdate (to, from, next) { ... }, beforeRouteLeave (to, from, next) { ... } }# など)。 ## がトリガーされます。コンポーネントはまだ作成されているため、beforeRouteEnter の前に現在のコンポーネントの this を取得することはできません。論理操作を実行するコンポーネント
以上がVue-router には JavaScript にどのようなフックとアプリケーションがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。