この記事の内容は、vue.js のグローバル ルーティングでのナビゲーション ガードの実装に関するもので、必要な方は参考にしていただければ幸いです。
一般的に言うと、ナビゲーションガードは、ユーザーがどのルートに入ることができ、どのルートに入ることができないかを制御する、つまりルートを管理するコントローラーです
例えば、初めてWebサイトに入り、次のことを書きたいときブログ、最初に入力する必要があります。ブログを書くためにはログインする必要があります。ログイン インターフェイスは入力できるルートのようなもので、ブログはログイン後にのみ入力できないルートです。ブログルートに入る許可です。これはNavigation Guardです。
グローバルルーティングの目的は、main.jsファイルの下に作成する必要があります
Navigation Guardを使用したい場合は、まずルートを作成する必要があります
//main.js const router= new VueRouter({ routes:[ {path:'/',name:'home',component:Home}, {path:'/menu',name:'menu',component:Menu}, {path:'/admin',name:'admin',component:Admin}, {path:'/about',name:'about',component:About,redirect: {name:'contactLink'},children:[ //二级路由 {path:'/about/contact',name:'contactLink',component:Contact}, {path:'/history',name:'historyLink',component:History}, {path:'/delivery',name:'deliveryLink',component:Delivery}, {path:'/orderingGuide',name:'orderingGuideLink',component:OrderingGuide,redirect:{name:'phonelink'},children: [ //三级路由 {path:'/phone',name:'phonelink',component:Phone}, {path:'/name',name:'namelink',component:Name} ]}, ]}, {path:'/login',name:'login',component:Login}, {path:'/register',name:'register',component:Register}, {path:'*',redirect:'/'} ], mode:"history" });
上記のルーティングオブジェクトルーターの beforeEach() メソッドを使用してナビゲーションガードを実装します
//main.js //to:跳转到的路由 from:从哪个路由离开 next:显示函数 router.beforeEach((to,from,next)=>{ if(to.path == '/login' || to.path == '/register'){ next(); }else{ alert("请先登录"); next('/login'); } });
'/login ' '/register' は自分で定義したルーティングアドレスです
to.path はジャンプ先のルーティングアドレスです
next() は現在のルーティング内容を表示します
next('/login') は指定されたルートにジャンプし、指定されたルートの内容を表示します
オブジェクトが利用可能な情報(console.log(to) view)
関連する推奨事項:
VueRouterのガイドナビゲーションShouWeiの使い方
Vue Road 動的リダイレクトとガイドを活用 ナビゲーション ガード ガード
以上がvue.js グローバル ルーティングでのナビゲーション ガードの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。