为了账号安全,请及时绑定邮箱和手机立即绑定

请问在VUEX 的 actions 中无法获取到 this 对象吗?

/ 猿问

请问在VUEX 的 actions 中无法获取到 this 对象吗?

慕粉4167745 2019-08-12 14:10:27

VUEX 的 actions 中无法获取到 this 对象吗


查看完整描述

3 回答

?
慕雪6442864

如果要在actions中发出请求,可以这样做
// main.js

import VueResource from 'vue-resource' // 当然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'})
})
}
}



查看完整回答
反对 回复 2019-08-24
?
烙印99

devtools追踪状态变化。事实上在vuex里面actions只是一个架构性的概念,并不是必须的,说到底只是一个函数,你在里面想干嘛都可以,只要最后触发mutation就行。异步竞态怎么处理那是用户自己的事情。vuex真正限制你的只有mutation必须是同步的这一点(在redux里面就好像reducer必须同步返回下一个状态一样)。同步的意义在于这样每一个mutation执行完成后都可以对应到一个新的状态(和reducer一样),这样devtools就可以打个snapshot存下来,然后就可以随便time-travel了。如果你开着devtool调用一个异步的action

查看完整回答
反对 回复 2019-08-24
?
富国沪深

.安装以下模块,让webpack可以解析css文件
cnpm install style-loader --save-dev
cnpm install css-loader --save-dev
cnpm install file-loader --save-dev
2.安装elementUi模块
cnpm install element-ui@next -S11
3.在webpack.base.conf.js中添加配置
{
test: /;;;;;;;;.css$/,
loader: style!css
},
{
test: /;;;;;;;;.(eotwoffwoff2ttf)([;;;;;;;;?]?.*)$/,
loader: file
}
4.然后在 main.js 引入并注册
import Element from ;element-ui;
import ;element-ui/lib/theme-default/index.css;
Vue.use(Element)



查看完整回答
反对 回复 2019-08-24

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信