我有以下内容:
<form onsubmit={ addToLocalStorage }>
</form>
this.items = []
addToLocalStorage(e) {
var input = e.target[0]
var todos = JSON.parse(localStorage.getItem('todos') || '[]')
var savedItems = this.items.push(input.value)
localStorage.setItem('todos', JSON.stringify(savedItems))
console.log(todos)
}
但输出只显示:
1
2
等等。
我做错了什么?
修改
console.log(localStorage.getItem('todos'))
还输出1
,2
但控制台中的颜色为黑色(所以我认为是字符串?)。
答案 0 :(得分:2)
.push()
返回新的数组长度。
var a = [].push("a");
a = a.push("b");
a现在等于2并且该数组已经消失。
这就是你想要的:
this.items.push(value);
localStorage["someKey"] = JSON.stringify(this.items);
...
var loadedArray = JSON.parse(localStorage["someKey"]);