почему все предыдущие записи обновляются в локальном хранилище, когда я нажимаю кнопку увеличения или уменьшения - PullRequest
0 голосов
/ 13 июля 2020

введите описание изображения здесь

имя класса кнопки «-» - «глификон-минус-знак», а имя класса кнопки «+» - «глификон-плюс-знак»

так когда я нажимаю кнопку любой записи, все предыдущие ios записи свойства inCart также обновляются, я не могу понять, что происходит. см. объект локального хранилища на изображении, поэтому обратите внимание на код, что item_id правильный, он дает идентификатор текущего элемента, моя функция подсчета декремента

    function decrement() {
        let cartItems = localStorage.getItem('productsInCart');
        cartItems = JSON.parse(cartItems);

        let dec = document.querySelectorAll(".glyphicon-minus-sign");
            for(let i=0;i<dec.length;i++) {
                dec[i].addEventListener('click', (e)=> {
                    

                    // get the id of current item
                    let item_id = e.target.parentNode.previousElementSibling.previousElementSibling.id;     

            
                    // change the inCart count in local storage
                    cartItems[item_id].inCart -= 1 ;                                                        
                    localStorage.setItem("productsInCart", JSON.stringify(cartItems));                      // update the local-storage

                })
            }
        
    }

функция подсчета приращения

        function increment() {
        let cartItems = localStorage.getItem('productsInCart');
        cartItems = JSON.parse(cartItems);

            let incr = document.querySelectorAll(".glyphicon-plus-sign");
            for(let i=0;i<incr.length;i++) {
                incr[i].addEventListener('click', (e)=> {

                    // get the id of current item
                    let item_id = e.target.parentNode.previousElementSibling.previousElementSibling.id;     
            
                    // change the inCart count in local storage
                    cartItems[item_id].inCart += 1 ;
                    localStorage.setItem("productsInCart", JSON.stringify(cartItems));                      // update the local-storage


                })
            }
        
    }

как вы можете видеть let cartItems = localStorage.getItem ('productsInCart') дает локальное хранилище

cartItems [item_id] .inCart - = 1 & cartItems [item_id] .inCart + = 1; обновить несколько записей в cartItems

Я не могу понять, что происходит, пожалуйста, помогите мне с этим

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