vuex中actions调用别的另一个actions的方法

 //需要传入dispatch参数
 getSkuAttr({dispatch, commit}, goods) {
		return api["goods/getSkuAttr"]({ 
            goods_id: goods.goods_id,
            sku:goods.sku,
        }).then(res => {
            //商品没有规格或者没有属性
			if (res.data.data.attr_list.length == 0 && res.data.data.spc_info.sku_list.length == 0) {
                dispatch('addCart', goods)
			}else {
                commit('getGoodsInfo', res.data.data)
            }
		})
    },
    // 添加购物车
    addCart({dispatch, commit},goods) {
        let _param = {
            goods_id: goods.goods_id,
            goods_number: 1,
            sku:goods.sku
        }
        return api["cart/addCart"]({
            param: [JSON.stringify(_param)]
        }).then(res => {
            if (res.data.status === 10000) {
                // 更新加入购物车数量
                //购物车actions地址,传入的数据,是否在别的actions
                dispatch('cart/setCartCount', res.data.count,{ root: true })
                app.$toast.success({
                    message: app.$t("components.goodsList.addSuccess"),
                    duration: 1000
                })
            } else if (res.data.status !== 10001 && res.data.status !== 10004){
                app.$toast.fail({
                    message: app.$t("components.goodsList.addFail"),
                    duration: 1000
                })
            }
        })
    }

你可能感兴趣的:(vue)