使用vuex和router,實(shí)現(xiàn)login把用戶狀態(tài)放在vuex的Store中,login頁面使用vuex的Action做用戶登錄。vuex定義了一個(gè)Action,是調(diào)的服務(wù)端的user.login服務(wù)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 }) // 這個(gè)地方是有問題的 }, ({ msg }) => alert(msg) )}現(xiàn)在問題是,在login.vue文件中,給login按鈕綁定了vuex的login action。但是希望用戶在vuex的login成功之后,跳轉(zhuǎn)到用戶首頁中。但是vuex的login是異步方式調(diào)用的服務(wù)端的login服務(wù),回調(diào)的時(shí)候已經(jīng)沒有this.$router了,這個(gè)時(shí)候應(yīng)該怎么處理用戶登錄之后的跳轉(zhuǎn)呢?也就是在vuex的action中,該不該有用戶頁面跳轉(zhuǎn)的邏輯,怎么做更好些呢?說的有點(diǎn)繞,不知道說明白沒有,汗
2 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
我也遇到這個(gè)問題了,我暫且用watch檢測vuex中userInfo數(shù)據(jù)來進(jìn)行跳轉(zhuǎn)的
我又仔細(xì)看了vuex的文檔,action函數(shù)的返回值可以返回回來,用promise就可以實(shí)現(xiàn)了
- 2 回答
- 0 關(guān)注
- 2153 瀏覽
添加回答
舉報(bào)
0/150
提交
取消