代码之家  ›  专栏  ›  技术社区  ›  Tarvo Mäesepp

没有负载参数,Vuex提交无法工作

  •  0
  • Tarvo Mäesepp  · 技术社区  · 7 年前

    rootState ,因此我必须在提交时添加root option参数。如果我通过了就行了 null 有效载荷 ,但如果我让它空着就不行了。

    工作版本:

    context.commit('shared/clearError', null, { root: true })
    

    不工作:

    context.commit('shared/clearError, { root: true })
    

    所以问题是,如果第二个参数是可选的,为什么没有第二个参数它就不能工作呢 documentation ?

    1 回复  |  直到 7 年前
        1
  •  2
  •   wwerner    7 年前

    您可以使用以下任一方法提交突变:

    • commit(mutation: Object, options?: Object)
    • commit(type: string, payload?: any, options?: Object)

    你把它们混在一起了:你用一个字符串来选择变异,所以它选择了第二个有三个参数的方法。您的options对象被选为有效负载,可能没有您期望的数据。

    这应该如您所期望的那样起作用: context.commit({ type: 'shared/clearError'}, { root: true }

    有关详细信息,请参阅 https://vuex.vuejs.org/guide/mutations.html https://vuex.vuejs.org/api/#vuex-store-instance-methods