Проблема с обновлением значения в localStorage - PullRequest
0 голосов
/ 13 июля 2020

У меня есть объект, хранящийся в localStorage, скажем, myObject, когда я получаю этот объект, обновляю ключ внутри него, а затем пытаюсь использовать localStorage.setItem для его обновления, он обновил все ключи внутри этого объекта .

ключи объекта уникальны, поскольку они отражают идентификаторы других объектов.

пример кода:

let obj = localStorage.getItem('myObject') || '{}'
obj = JSON.parse(obj)
obj[this.currentItem.id] = 'some value here'
localStorage.setItem('myObject', JSON.stringify(obj)) // updates all keys inside the object to be the same value 

1 Ответ

0 голосов
/ 13 июля 2020

хорошо, я думаю, что знал, в чем проблема, но я не знаю, почему это произошло, я использую Vue для своего приложения, а в функции mounted я получал сведения об элементе с помощью id прошло в маршруте, когда я попытался console.log(this.item), все было нормально, пока я не перенаправился на другой элемент, а затем он начал регистрировать все элементы, которые я уже прошел на этой странице раньше, я понятия не имею, почему это происходит, это вызвало localStorage.setItem несколько раз с разными идентификаторами, но с тем же значением, которое у меня было, что привело к обновлению всех ключей в объекте внутри localStorage.

В итоге я использовал идентификатор из маршрута this.$route.params.id вместо этого, и это решило это, но я до сих пор не понимаю, почему смонтированный запускался несколько раз, как это, и почему он каждый раз запускался с другим объектом: /

если это что-то в Vue о рендеринге и жизненный цикл, и кто-то знает почему, не могли бы вы связать несколько статей, чтобы я мог прочитать об этом, я все еще начинаю с Vue.

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