1.from表单会提交一次,所以使用时要prevent,不然会刷新。
比如你登录后跳转主页,他会又把你拉回来登录界面
<!--整个登录盒子-->
<div class="loginbox" @submit.prevent='login'>
<!--左侧-->
<form class="login-left">
2.路由守卫,history模式在router界面写不生效,把他挂在main.js就好了
main.js
// 导航守卫
// 使用beforeEach 注册一个全局前置守卫,判断用户是否登陆
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) {
let token = store.state.login.userInfo.token
if (token) {
// console.log(token)
next()
} else next('/Login')
} else {
next()
}
})
3.modules,调用modules函数一直报错[vuex] unknown action type:,
多半是你的modules模块用了 export default new Veux Store,你把它换成const 再export default就不会这样了,这里用命名空间调用也解决不了,弄了老半天,就这小地方
//主store
export default new Vuex.Store({
// strict: process.env.NODE_ENV !== 'production', // 在非生产环境下,使用严格模式
modules: {
login: logstore
}
})
//模块
const logstore = {
// namespaced: true,
state: {
userInfo: !localStorage.getItem('userInfo') ? {} : localStorage.getItem('userInfo')
},
mutations: {
[SAVE_USERINFO] (state, data) {
state.userInfo = data
}
},
actions: {
saveUserInfo ({ commit }, data) {
commit(SAVE_USERINFO, data)
}
}
}
export default logstore