javascript - 未捕获的类型错误:无法读取 null 的属性“标题”-本地存储
问题描述
我正在创建一个简单的博客应用程序,它允许用户创建带有标题和博客文章的博客。在我刷新并抓取存储在本地存储中的项目之前,我的应用程序可以 100% 正常运行。例如,在我发布博客后,我可以单击编辑图标对帖子进行调整并在 UI 中进行更新。只要我不刷新页面……这 100% 的时间都有效。刷新后,我的应用程序看起来非常好,并且之前添加的博客文章确实会从 LS 显示到我的 UI 但是,我无法再单击编辑图标,并且出现“无法读取...的属性”错误. 我对我正确使用 JSON.stringify 和 JSON.parse 感到肯定。对 LS 来说还算新鲜。任何帮助将不胜感激!
这就是我存储物品的方式
storeItem: function (item) {
let items;
// Check if any items exist in LS
if (localStorage.getItem('items') === null) {
items = [];
// Push new item
items.push(item);
// Set LS
localStorage.setItem('items', JSON.stringify(items));
} else {
// Get existing items in LS
items = JSON.parse(localStorage.getItem('items'));
// Push new item
items.push(item);
// Reset LS
localStorage.setItem('items', JSON.stringify(items));
}
},
这是从 LS 取回我的物品
getItemsFromStorage: function () {
let items;
if (localStorage.getItem('items') === null) {
items = [];
} else {
items = JSON.parse(localStorage.getItem('items'));
}
return items;
}
解决方案
推荐阅读
- linux - 在 Linux 上交叉编译 ARM 可移植可执行文件
- javascript - How to find length of array of sets in Javascript?
- python - 附加一个带有分配给变量的列表的列表会产生多次相同最终版本的变量的输出
- c# - 消费者对象选择 .NET Core 中依赖项的选项的选项模式
- angular - 需要使用“Microsoft Graph”在我的网页中显示我的一个驱动器目录
- scala - Play Slick:如何在 play-slick 3.0.0 中从数据库表中获取选定字段?
- php - 如何将表连接为第二级
- java - 仅当我在路径变量中传递 anystring.application 时,SpringBoot rest api 才给出 406 Bad request
- javascript - (角度 8)文件或图片在转换为 formdata 时获得了无效值(PS:formdata print Object Form{})
- json - 为什么我的 JSON 消息未在 BizTalk 2016 中正确编码?