Мутация не обновляет магазин в VUEX - PullRequest
1 голос
/ 04 июня 2019

Работа с VUEX Я пытаюсь обновить магазин, но не достигаю его, я не понимаю причину, так как хочу только ввести числовые данные без каких-либо осложнений. При мутации вводите сообщения через консоль, и я их получаюуспешно, но в состоянии корзины ничего не происходит.

Это мой код:

Mutations.js

export function shipping(state, cost) {
    state.cart.shipping = cost;
    console.log(cost);
    console.log('hello from mutation');
}

Шаблон:

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

Методы

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

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

Вычислено

computed: {
   ...mapState( 'cart', ['cart'] ),
   ...mapGetters('cart', ['totalItems', 'totalCost']),
   ...mapGetters('cart', ['shippingCost']),

  shippingCost() {
    return this.$store.getters.shippingCost;
  }
}

1 Ответ

1 голос
/ 04 июня 2019

Решено, мы должны использовать VUEX как объект, чтобы иметь доступ к большему количеству элементов:

Очень важно

const namespaced = true;  //important!!

export default {
    namespaced,
    state,
    mutations
}

Состояние:

export default {
    cart: {
        products: [], 
        shipping : ''
    }
}

И введите свои данные следующим образом:

computed: {
   ...mapState( 'cart', ['cart', 'products', 'shipping'] ),

Привет

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