1. 程式人生 > >vue2.0 實現導航守衛(路由守衛)

vue2.0 實現導航守衛(路由守衛)

複製程式碼
import Vue from 'vue';
import Router from 'vue-router';
import LoginPage from '@/pages/login';
import HomePage from '@/pages/home';
import GoodsListPage from '@/pages/good-list';
import GoodsDetailPage from '@/pages/good-detail';
import CartPage from '@/pages/cart';
import ProfilePage from '@/pages/profile';

Vue.use(Router)

const router = new Router({ routes: [ { path: '/', // 預設進入路由 redirect: '/home' //重定向 }, { path: '/login', name: 'login', component: LoginPage }, { path: '/home', name: 'home', component: HomePage }, { path: '/good-list', name:
'good-list', component: GoodsListPage }, { path: '/good-detail', name: 'good-detail', component: GoodsDetailPage }, { path: '/cart', name: 'cart', component: CartPage }, { path: '/profile', name: 'profile', component: ProfilePage }, { path:
'**', // 錯誤路由 redirect: '/home' //重定向 }, ] }); // 全域性路由守衛 router.beforeEach((to, from, next) => { console.log('navigation-guards'); // to: Route: 即將要進入的目標 路由物件 // from: Route: 當前導航正要離開的路由 // next: Function: 一定要呼叫該方法來 resolve 這個鉤子。執行效果依賴 next 方法的呼叫引數。 const nextRoute = ['home', 'good-list', 'good-detail', 'cart', 'profile']; let isLogin = global.isLogin; // 是否登入 // 未登入狀態;當路由到nextRoute指定頁時,跳轉至login if (nextRoute.indexOf(to.name) >= 0) { if (!isLogin) { console.log('what fuck'); router.push({ name: 'login' }) } } // 已登入狀態;當路由到login時,跳轉至home if (to.name === 'login') { if (isLogin) { router.push({ name: 'home' }); } } next(); }); export default router;

相關推薦

vue2.0 實現導航守衛 --- 齊梟飛 前端開發攻城獅路由守衛 使用vue-router+vuex進行導航守衛

路由跳轉前做一些驗證,比如登入驗證,是網站中的普遍需求。 對此,vue-route 提供的 beforeRouteUpdate 可以方便地實現導航守衛(navigation-guards)。 導航守衛(navigation-guards)這個名字,聽起來怪怪的

vue2.0 實現導航守衛路由守衛

import Vue from 'vue'; import Router from 'vue-router'; import LoginPage from '@/pages/login'; import HomePage from '@/pages/home'; import GoodsListPage

vue-router 實現導航守衛路由衛士

router strong class onerror api date console .org nbsp 路由跳轉前做一些驗證,比如登錄驗證,是網站中的普遍需求。 對此,vue-route 提供的 beforeRouteUpdate 可以方便地實現導航守衛(naviga

【前端】bootstrap4實現導航非nav

效果展示: html程式碼: <!-- 右側邊欄 --> <div class="list-group"> <button class="list-group-i

Vue2.0 搭建Vue腳手架vue-cli

安裝node.js 從node官網下載並安裝node,安裝步驟很簡單,只要一路“next”就可以了。 安裝完成後,開啟命令列工具輸入命令node -v,如下圖,如果出現對應版本號,就說明安裝成功了。 我們所需要的npm包管理器,是整合在node中的,所以,直接輸入np

VUE2.0 全套 demo 講解學習筆記

https://juejin.im/user/580327ee0e3dd900570cf3ab 基礎一: 模板語法 1.文字 資料繫結最常見的形式就是使用 “Mustache” 語法(雙大括號)的文字插值: Mustache 標籤將會被替代為對應資料物件上 

Mysql 5.7.1.0 實現主從複製master-slave

開始前 請 保證兩臺主機的 防火牆、防毒軟體 不會阻止兩臺主機的正常通訊 。下面通過6步操作實現主從複製!

vue2路由導航守衛鉤子函式

官方:vue-router 提供的導航守衛主要用來通過跳轉或取消的方式守衛導航。有多種機會植入路由導航過程中:全域性的, 單個路由獨享的, 或者元件級的。 所謂的Vue路由導航守衛,也就是我們常說的生命週期鉤子函式,鉤子函式的意思就是在特定的時刻,Vue會自動觸發這個方

Vue2.0 Router 導航守衛

文件中 session -s path 白夜行 fad hash index bsp 官方文檔地址:https://router.vuejs.org/zh-cn/advanced/navigation-guards.html 全局守衛 可以使用 router.befor

基於vue2.0實現仿百度前端分頁效果

前言 上篇文章中,已經使用vue實現前端分頁效果,這篇文章我們單獨將分頁抽離出來實現一個分頁元件 先看實現效果圖 程式碼實現 按照慣例,我們在凍手實現的時候還是先想一想vue實現元件的思路 1、需要提前設定哪些引數需要暴露出來給父元件傳遞 <Paging

求解! vue2.0實現購物車小球掉落特效第一次點選動畫失效男默女淚的bug!

點選新增按鈕時有一個小球掉落到購物車的特效,第一次點選時動畫特效沒有出來,且沒有進入afterEnter方法。後面點選都沒有問題。 效果如圖:(第一次點選) 但是我在enter方法裡面下了一個斷點之後就有動畫效果,且進入了afterEnter。效果如下: 希望大

vue2.0實現echarts餅圖pie效果展示

最近做的專案需要餅狀圖展示資料的功能,於是便引入echarts做了一個餅狀圖的效果展示。由於只用到echarts其中的餅圖,所以就單獨在需要的模組引用,避免全域性引用影響效能,減少不必要的載入。一.使用 cnpm 安裝 Echartscnpm install echarts

vue2.0 實現選項卡導航例項

1:背景是一個web端的電商網站,根據點選的導航選項卡呈現不同得種類商品,首先這裡說下我的路由結構是導航是一個元件,選項卡的內容又是單獨的一個元件。這是導航元件的內容,這裡主要通過v-for迴圈生成導航,沒什麼好說的,需要注意的是,這因為選項卡需要知道使用者所點選的是哪個模組

vue2.0實現圖片加載失敗默認顯示圖片

bsp asset mage res highlight return ner url onerror <div class="bg"> <img :src="goods.phoneFloorAd.resUrl" :onerror="error

vue2.0 配置環境總結都是淚啊

fan all oba 都是 cnpm 2.0 git lex tex   最近有點空閑時間,終於把一直想學的vue提上了日程,以下是收集的一些幫助入門的鏈接   1:https://vuefe.cn/v2/guide/  vue2.0中文官網   2:https://ro

vue2.0 實現click點擊當前li,動態切換class

一行 for ont pla false style function float del <template>  <div>    <ul>      <li v-for="(item,$index) in items" @cli

activiti6.0 提交流程至某節點 ,可用於實現駁回操作未測試

完成 activit sets exce condition d3d pri class mit /** * @param task 任務Id * @param variables ... * @param targetActivity

[JLOI2016/SHOI2016]偵察守衛樹形dp

pre 放置 貪心 char 地圖 連通 註意 += stream 小R和B神正在玩一款遊戲。這款遊戲的地圖由N個點和N-1條無向邊組成,每條無向邊連接兩個點,且地圖是連通的。換句話說,遊戲的地圖是一棵有N個節點的樹。 遊戲中有一種道具叫做偵查守衛,當一名玩家在一個點上放置

BZOJ4557 JLOI2016偵察守衛樹形dp

  下稱放置守衛的點為監控點。設f[i][j]為i子樹中深度最大的未被監視點與i的距離不超過j時的最小代價,g[i][j]為i子樹中距離i最近的監控點與i的距離不超過j且i子樹內點全部被監視時的最小代價。開始覺得這隻能設成三維狀態對這種二維的糾結了半天要怎麼處理子樹內有點未被監視但監控點的範圍可以延伸到子樹外

vue2.0 實現富文字編輯器功能

前端富文字編譯器使用總結: UEditor:百度前端的開源專案,功能強大,基於 jQuery,但已經沒有再維護,而且限定了後端程式碼,修改起來比較費勁 bootstrap-wysiwyg:微型,易用,小而美,只是 Bootstrap + jQuery... kindEditor:功能強大,程