在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue-router頁面鑒權(quán)

vue-router頁面鑒權(quán)

問題一:
我想實現(xiàn)的效果是,登陸之后可以跳轉(zhuǎn)到個人中心頁面
比如我現(xiàn)在的個人中心頁面url是這樣的

http://localhost:8089/user

在未登錄狀態(tài)下,是沒有按鈕可以點擊跳轉(zhuǎn)到這個路由下的,但是直接在瀏覽器輸入可以到達(dá)這個路由下
我現(xiàn)在在main.js下做的處理

router.beforeEach((to, from, next) => {
  // 判斷要去的路由界面是不是要鑒權(quán)
  if (to.meta.checkLogined) {
// 查看是否登陸
if (!store.state.userInfo) {
  // 沒登錄的做處理
  next({
    path: '/home'
  })
} else {
  // 登陸的正常跳
  next()
    }
  } else {
    // 不需要鑒權(quán)的正常跳
    next()
  }
})

路由router.js

   {
  path: '/user',
  name: 'user',
  meta: {checkLogined: true},
  component: user,
  children: [
    {
      path: '/user/openShow',
      name: 'openShow',
      component: openShow,
      children:[
        {
          path: '/user/openShow/step1',
          name: 'step1',
          meta: {checkLogined: true},
          component: step1
        }
       ]
     }]
   }

我更改的鑒定狀態(tài)發(fā)現(xiàn)正常點擊的情況下是可以處理的,但是在瀏覽器直接輸入地址還是無法處理。
另外,我在父路由做了鑒權(quán),其子路由依然需要單獨的增加meta屬性嗎?也就是說,父路由可以被攔截處理,但是加上子路由就不行?
問題二: 我在子路由依然有一些權(quán)限需要來管理能否跳轉(zhuǎn),這樣的話又該怎么做?需要單獨寫beforeEach來處理,還是統(tǒng)一寫在mainjs里?

回答
編輯回答
黑與白

clipboard.png

2018年7月9日 15:29
編輯回答
夢若殤

可以在總頁面,例如默認(rèn)的App.vue頁面的beforeCreated鉤子中獲取到配置的路由參數(shù)來判斷是否已經(jīng)有進(jìn)入權(quán)限,沒有就跳轉(zhuǎn)到指定的頁面去。這樣就可以控制直接在地址欄輸入路由來跳轉(zhuǎn)的情況。

希望我的回答能幫助到你,有不明白的地方歡迎評論留言!

2018年2月6日 22:09