2 回答

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊
我之前也遇到這個問題,我是這樣解決的
如果要在actions 或者 mutations 中使用this對象??梢栽谡{(diào)用的時候把this對象傳過去。
例如
//在組件中this.$store.store.commit("methods", this)
mutations中 methods(state, vue){ vue.$router //調(diào)用this對象的路由對象 }
要注意的是, mutations和actions只能接受一個參數(shù), 如果要傳入超過2個參數(shù),那就以對象形式傳參
例如:
//在組件中 this.$store.store.commit("methods", { "this":this, //Vue對象 "a": aaa })

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊
如果要在actions中發(fā)出請求,可以這樣做
// main.js import VueResource from 'vue-resource' // 當(dāng)然vue-source需要自己去npm下載Vue.use(VueResource)
// actions.js 就是放actions的文件import Vue from 'vue'actions: { isAccessToken({commit}, access_token) { return Vue.http.get('/api/token', () => { //... }) } }
如果要在actions中查看路由信息,試試這樣
// actions.js import router from '../router' // 路徑不一定對,為router路由信息存放的路徑 actions: { isAccessToken({commit}, access_token) { return Vue.http.get('/api/token', () => { console.log(router.currentRoute) router.push({name: 'login'}) }) } }
添加回答
舉報
0/150
提交
取消