Количество не меняется при изменении другой страницы - PullRequest
0 голосов
/ 10 июля 2019

Количество не изменяется при изменении другой страницы в vuex.

У меня проблема в следующем: 1.Введенное значение количества равно 1: значение = 3 на странице Продукт 1. 2. Нетнажмите отправить.3. Изменить страницу продукта 2. 4. Значение не сбрасывается.Пожалуйста, помогите мне решить эту проблему! Спасибо!

Store.js '' *

let cart = window.localStorage.getItem('cart');
let cartCount = window.localStorage.getItem('cartCount');
export default new Vuex.Store({
    //strict: true,
    // isCheckout: false,
    state: {
        isLoading: false,
        purchase : {
            number: 1,
        },
        // items:  {
        //  id: 3,
        //  name: 'Huawei P30',
        //  url: 'https://www-file.huawei.com/-/media/corporate/images/home/small-banner/2019/p30_box1.png?la=en',
        //  price: '200',
        //  description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. '
        // },  
        cart: cart ? JSON.parse(cart) : [],
        cartCount: cartCount ? parseInt(cartCount) : 0,
    },
    getters: {
        isLoading: state => state.isLoading,
        purchase: state => state.purchase,
        //state.number = { ...state.number, 1}
        items: state => state.items,
        // items: state => {
        //  return state.items.map(({ id, quantity }) => {
        //      const product = state.products.find(product => product.id === id)
        //      return {
        //          title: product.title,
        //          price: product.price,
        //          quantity
        //      }
        //  })
        // },
    },
    mutations: {
        changeQuantity (state, number) {
            state.purchase.number = number
        },
        [types.ADD_TO_CART](state, item, purchase) {
            let found = state.cart.find(product => product.id === item.id);
            let number = parseFloat(state.purchase.number);
            console.log(number);
            if (found) {
                found.quantity += number;
                //console.log(found.quantity)
                found.totalPrice = found.quantity * found.price;
            } else {
                state.cart.push(item);
                Vue.set(item, 'quantity', number);
                Vue.set(item, 'totalPrice', number*(item.price));
            };
            state.cartCount += number;
            state.purchase.number = 1;
            this.commit('saveCart');
        },

'' 'HTML' ''

 <dd class="col-sm-10"> 
                      <input class="quantity" @input='changeQuantity' type="number" name="" min="1" :value='purchase.number' placeholder="1">
                    </dd>

''Вуэйс

computed: {
  ...mapGetters ([
    'isLoading','purchase',
    ]),
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...