vue後台登入 許可權路由

2021-09-16 18:07:09 字數 1681 閱讀 2468

技術棧:

wepack ---- 打包神器

vue---js框架

vuex---實現不同元件間的狀態共享

: 簡述vuex和localstorage,全域性變數的區別:

為了解決跨元件之間的資料共享問題,乙個元件的資料變化對映到使用這個資料的其他元件中,重新整理頁面之前儲存的vuex資料會被初始化掉.

localstorage是h5提供的資料儲存方式,替代了cookie存放資料(cookie的資料量太小),可以有5m的限制,不受重新整理頁面控制,長久儲存

vuex是由於頁面之間的傳參對於多層巢狀元件很繁瑣,對於兄弟元件之間的傳參沒辦法,就將元件的共享狀態抽取出來,以全域性單例模式管理,即vuex

vuex和全域性變數的區別

響應式 : vuex的狀態儲存是響應式的,當vue元件從store中讀取狀態的時候,若store中的狀態發生變化,相應的元件就會得到高效更新

不能直接改變store : 不能直接改變store的變化.改變store中狀態的唯一途徑是commit mutation.

vue-router---頁面路由

babel-polyfill---將es6**轉為es5**

normalize.css---重置掉改重置的樣式

element-ui---ui元件庫

動態路由的關鍵在router配置的meta欄位和vuex的狀態共存

router/index.js

// 初始化路由

export default new router(

] });// 動態路由 meta 定義了role

export const powerrouter =[ ,},

}]

}];

store/modules/login.js actions部分

logins(, info);

loginbyuserinfo.map(function (item) ;

}else

});

resolve(data);//將data解析成promise物件

}).catch(error => );

},roles(, newrouter)).catch(error => );

}

main.js

router.beforeeach((to, from, next) => else else 

return false

}else

});newrouter = powerrouter

newrouter[0].children = newchildren

}router.addroutes(newrouter) //新增動態路由

store.dispatch('roles',newrouter).then(res => )

}).catch(() => )

}

}else else

}})

components/index.vue

//mapgetters 輔助函式僅僅是講store中的getter 對映到區域性計算屬性

...mapgetters([

'newrouter'

])

Vue路由許可權

在做後台管理系統的時候,一般都會遇見路由許可權的問題。大家可以先體驗一下最終的例子 authority vue router 例子專案位址 authorityrouter。在例子的登入頁面中,通過選擇不同的使用者型別來模擬不同的使用者賬號登入的情況,通過不同的使用者型別登入後台的時候,可以看到左側的...

vue後台管理系統,動態許可權路由怎麼寫。

做後台管理系統,我們經常需要對各個使用者進行許可權的管理,不同許可權的使用者所能看到的頁面也不相同,那麼我們應該怎麼做呢。下面,我說說我近期的實戰案例。寫路由這一步正常寫就行,沒什麼特別的地方 children redirect index test1 children 路由怎麼寫就不過多贅述了,相...

Vue後台許可權管理

許可權是對特定資源的訪問許可,所謂許可權控制,也就是確保使用者只能訪問被分配的資源 而前端許可權總的來說是請求許可權 請求的發起可能有下面兩種形式觸發 總的來說 所有的請求發起都觸發自前端路由或試圖 所以我們可以從這兩個方面入手 對觸發許可權的源頭進行控制 最終要實現目標是 前端許可權控制可以分為 ...