使用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中,該不該有用戶頁面跳轉的邏輯,怎么做更好些呢?說的有點繞,不知道說明白沒有,汗
2 回答

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
我也遇到這個問題了,我暫且用watch檢測vuex中userInfo數據來進行跳轉的
我又仔細看了vuex的文檔,action函數的返回值可以返回回來,用promise就可以實現了
- 2 回答
- 0 關注
- 2154 瀏覽
添加回答
舉報
0/150
提交
取消