VUEX не находит мутации, но она определена - PullRequest
3 голосов
/ 04 июня 2019

Я работаю с VUEX и все было в порядке, пока я не зарегистрировал новую мутацию "отгрузка", так как каждый раз, когда я фиксирую ее, она говорит мне: неизвестный тип мутации: отгрузка . Но я не понимаю причину, так как предыдущие мутации работают правильно.

Это мой код:

мутации

export function removeAllProducts (state){
    state.cart = []
}

export function shipping(state, cost){
    state.cart.shipping = cost;
};

Компонент

Template

<input type="number" name="cost" :value="shippingCost" @input="updateCost">

Scripts:

computed: {
   ...mapState( 'cart', ['cart'] ),
   ...mapGetters('cart', ['totalItems', 'totalCost', 'shippingCost']),
    shippingCost:{
      get(){ return this.$store.getters.shippingCost; },
    } 
},



     methods: {
     ...mapMutations('cart', ['addProductToCart', 'subtractProductToCart', 'removeProductFromCart', 'removeAllProducts', 'shipping' ]),
     ...mapMutations('routes', ['addRoute']),

      updateCost (e) {
        this.$store.commit('shipping', e.target.value)
      }
   }
}

1 Ответ

2 голосов
/ 04 июня 2019

Вы можете назвать свою мутацию неправильно. Если эта строка верна:

...mapMutations('cart', ['addProductToCart', 'subtractProductToCart', 'removeProductFromCart', 'removeAllProducts', 'shipping' ])

Тогда функция updateCost должна быть:

  updateCost (e) {
    this.$store.commit('cart/shipping', e.target.value)
  }

если в вашем модуле вы установили namespacing на true. Или функция может быть

  updateCost (e) {
    this.shipping(e.target.value)
  }

, поскольку вы уже используете mapMutations для сопоставления shipping с вашим компонентом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...