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

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


森林海
浏览 1339回答 3
3回答

慕雪6442864

如果要在actions中发出请求,可以这样做// main.jsimport 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.jsimport router from '../router' // 路径不一定对,为router路由信息存放的路径actions: {isAccessToken({commit}, access_token) {return Vue.http.get('/api/token', () => {console.log(router.currentRoute)router.push({name: 'login'})})}}

烙印99

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

富国沪深

.安装以下模块,让webpack可以解析css文件cnpm install style-loader --save-devcnpm install css-loader --save-devcnpm install file-loader --save-dev2.安装elementUi模块cnpm install element-ui@next -S113.在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)
打开App,查看更多内容
随时随地看视频慕课网APP