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

vuex mutations

vuex mutations

红颜莎娜 2018-09-03 08:20:03
<li v-for="(value, key) in iPhone6S.style"                        @click="changeStyle(key)"                        :class="{active: iPhone6S.activeStyleUrl == value}">                        <span v-text="key"></span>                    </li>mutations.js: const state = {  iPhone6S: {    name: 'Apple/苹果 iPhone 6S',    desc: '3D Touch、1200万像素照片、4k视频,强大功能于一身。',    price: '5288 - 6888',    isSelected: true,    style: {          '玫瑰金色': 'http://o8yu724qs.bkt.clouddn.com/iphone6s-rosegold-select-2015.png'    },    activeStyleUrl: 'http://o8yu724qs.bkt.clouddn.com/iphone6s-silver-select-2015.png',    storage: {      '16GB': 5288,      '64GB': 6088,      '128GB': 6888    }  },  cart: []}                   actions.js import * as types from './types'export default {  changeStyle: ({ commit }) => {    commit(types.CHANGESTYLE)  }}types.jsexport const CHANGESTYLE = 'CHANGESTYLE'问题是alert可以弹出来,为什么styleKey 是undefined,还有为什么CHANGESTYLE事件 默认的参数是state
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

你的action里面没有给 commit(types.CHANGESTYLE)传值啊,所以就是undefined

查看完整回答
反对 回复 2018-09-09
?
BIG阳

TA贡献1859条经验 获得超6个赞

mutations 回调传入的两个参数第一个是state 也就是你当前modules的state, 第二个参数是你dispatch或者在action中commit的中传入的第二个参数。 你这边styleKey显示是undefined 应该是你在dispatch或者你在action中的commit没有传值

查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1252 浏览
慕课专栏
更多

添加回答

举报

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