vue.js グローバル ルーティングでのナビゲーション ガードの実装

不言
リリース: 2018-08-23 16:35:11
オリジナル
1943 人が閲覧しました

この記事の内容は、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!