技術棧:
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
// 初始化路由store/modules/login.js actions部分export default new router(
] });// 動態路由 meta 定義了role
export const powerrouter =[ ,},
}]
}];
logins(, info);main.jsloginbyuserinfo.map(function (item) ;
}else
});
resolve(data);//將data解析成promise物件
}).catch(error => );
},roles(, newrouter)).catch(error => );
}
router.beforeeach((to, from, next) => else elsecomponents/index.vuereturn false
}else
});newrouter = powerrouter
newrouter[0].children = newchildren
}router.addroutes(newrouter) //新增動態路由
store.dispatch('roles',newrouter).then(res => )
}).catch(() => )
}
}else else
}})
//mapgetters 輔助函式僅僅是講store中的getter 對映到區域性計算屬性
...mapgetters(['newrouter'
])
Vue路由許可權
在做後台管理系統的時候,一般都會遇見路由許可權的問題。大家可以先體驗一下最終的例子 authority vue router 例子專案位址 authorityrouter。在例子的登入頁面中,通過選擇不同的使用者型別來模擬不同的使用者賬號登入的情況,通過不同的使用者型別登入後台的時候,可以看到左側的...
vue後台管理系統,動態許可權路由怎麼寫。
做後台管理系統,我們經常需要對各個使用者進行許可權的管理,不同許可權的使用者所能看到的頁面也不相同,那麼我們應該怎麼做呢。下面,我說說我近期的實戰案例。寫路由這一步正常寫就行,沒什麼特別的地方 children redirect index test1 children 路由怎麼寫就不過多贅述了,相...
Vue後台許可權管理
許可權是對特定資源的訪問許可,所謂許可權控制,也就是確保使用者只能訪問被分配的資源 而前端許可權總的來說是請求許可權 請求的發起可能有下面兩種形式觸發 總的來說 所有的請求發起都觸發自前端路由或試圖 所以我們可以從這兩個方面入手 對觸發許可權的源頭進行控制 最終要實現目標是 前端許可權控制可以分為 ...