vue的路由守卫和vuex
路由守卫
全局前置守卫
可以使用 router.beforeEach 注册一个全局前置守卫:
const router = createRouter({ ... })
router.beforeEach((to,from,next) => {
// ...
/*
每个守卫方法接收两个参数(to,from)
to: 即将要进入的目标 (要到哪里去)
from :当前导航正要离开的路由(从哪里来)
可选的第三个参数 next
next:可以向任何导航守卫传递第三个参数。在这种情况下,
确保 next 在任何给定的导航守卫中都被严格调用一次。
它可以出现多于一次,但是只能在所有的逻辑路径都不重叠的情况下
,否则钩子永远都不会被解析或报错
*/
// 返回 false 以取消导航
return false
})
VueX
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。
它采用集中式存储管理应用的所有组件的状态,
并以相应的规则保证状态以一种可预测的方式发生变化。
5个核心概念 : State、 Getter、Mutation、Action、Module
// 存放数据
state: {
},
// 对state里面的数据初加工
getters: {
// 参数 就是state
},
// 修改state里面的数据
mutations: {
// state :state中的数据 payload:穿的参数
},
// 修改state里面的数据 包括异步操作(例如:请求)
actions: {
},
// 模块化
modules: {
}