vue.js - ES6里面,这两段代码是不等价的吗?(示例是vuex里action的一段,es6的展开符写法)
本文介绍了vue.js - ES6里面,这两段代码是不等价的吗?(示例是vuex里action的一段,es6的展开符写法)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
题主在review 小萝卜丁 的vuex-shopping cart中vuex的写法。因为没系统研究过es6,所以想改写为自己更熟悉的写法,虽然没报错,但是不起效果,想了解一下应该怎么改写的。
...在es6里是展开符,或者能够分享一下这个展开的效果吗
小萝卜丁的action.js
export const changePrice = makeAction('CHANGE_PRICE')
export const changeStyle = makeAction('CHANGE_STYLE')
export const addItem = makeAction('ADD_ITEM')
export const removeItem = makeAction('REMOVE_ITEM')
function makeAction (type) {
return ({ dispatch }, ...args) => dispatch(type, ...args)
}
我自己的actionA.js
export const changePrice = ({ dispatch }) => {dispatch('CHANGE_PRICE')}
export const changeStyle = ({ dispatch }) => {dispatch('CHANGE_STYLE')}
export const addItem = ({ dispatch }) => {dispatch('ADD_ITEM')}
export const removeItem = ({ dispatch }) => {dispatch('REMOVE_ITEM')}
解决方案
2个问题
一个是箭头函数后面有无{}
的区别
第二个问题时...args
必须照抄 要记得你返回的是一个函数 你现在写法函数只能处理一个参数了
这篇关于vue.js - ES6里面,这两段代码是不等价的吗?(示例是vuex里action的一段,es6的展开符写法)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文