Если вы пытаетесь сохранить массивы или объекты в localStorage , вам нужно будет преобразовать его в строковый формат, поскольку localStorage поддерживает только хранение строковых значений. Для этой цели вы можете использовать JSON.stringify () .
localStorage.setItem('Values', JSON.stringify(this.newItem));
localStorage.setItem('dataSource', JSON.stringify(this.items));
Аналогично, когда вам нужно извлечь элемент из localStorage, вы можете использовать JSON.parse () , чтобы преобразовать его обратно в массив или объект.
const storedItems = JSON.parse(localStorage.getItem('dataSource'));
В вашем конструкторе вы слишком усложняете способ заполнения массива. После заполнения массива myItems вы можете сохранить его в своем локальном хранилище.
В вашем методе addItem()
вы можете просто вставить новые элементы в ваш массив myItems и вызвать localStorage.setItem()
, который перезапишет предыдущее значение, сохраненное на вашем ключе Values
.
myItems: string[] = [];
constructor(){
console.log(JSON.parse(localStorage.getItem('Values')));
this.myItems.push('First Value', 'First Value', 'Third Value', 'Forth Value', 'Fifth Value');
localStorage.setItem('Values', JSON.stringify(this.myItems));
}
addItem() {
const newItem = ''; //replace that with any value you desire
this.myItems.push(newItem)
localStorage.setItem('Values', JSON.stringify(this.myItems));
}