使用vuex和router,實現login把用戶狀態放在vuex的Store中,login頁面使用vuex的Action做用戶登錄。vuex定義了一個Action,是調的服務端的user.login服務export const login = ({ dispatch }, username, password, url) => {
user.login(
{ username, password }, ({ fullname, uid }) => {
dispatch(types.LOG_IN, { fullname, uid, username }) this.$router.go({ name: url }) // 這個地方是有問題的
}, ({ msg }) => alert(msg)
)
}現在問題是,在login.vue文件中,給login按鈕綁定了vuex的login action。但是希望用戶在vuex的login成功之后,跳轉到用戶首頁中。但是vuex的login是異步方式調用的服務端的login服務,回調的時候已經沒有this.$router了,這個時候應該怎么處理用戶登錄之后的跳轉呢?也就是在vuex的action中,該不該有用戶頁面跳轉的邏輯,怎么做更好些呢?說的有點繞,不知道說明白沒有,汗
vuex怎么做login頁面?
守著星空守著你
2018-08-10 10:09:43