我正在尝试在 IndexDB 中保存一些对象。该对象的属性之一是 Date Javascript 对象。 此日期属性始终在 IndexDB 中保存为空对象。
var trans = db.transaction(["todo"], "readwrite");
var store = trans.objectStore("todo");
lastIndex++;
var myDateObject = new Date();
var request = store.put({
"id": lastIndex,
"text": todoText,
"date": myDateObject
});
但是我得到的是:
{Key: 1,
Value {
Id: 1,
text: "myText",
date:{} // ??
}
}
由于文档可以做到这一点:
value Each record has a value, which could include anything that can be expressed in JavaScript, including boolean, number, string, date, object, array, regexp, undefined, and null.
可以在此处阅读:https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB#key
Plunker 重现: http://plnkr.co/edit/bcH3mmDC3dQ8S89J4dNl?p=preview
免责声明:我从 http://embed.plnkr.co/ip6owK/preview 回收了 Jayesh Chandrapal 制造的 Plunker。 .
最佳答案
问题出在 Chrome 开发者工具中,无法正确显示数据,但数据位于 IndexedDB 中。
使用相同的插件,我添加了一个新单元格来绑定(bind)日期,并且它正在显示它。
<td>{{todo.date}}</td>
http://plnkr.co/edit/wVDgGFwhgOMJtelgZsEi?p=preview
我打开了一个 Chromium 问题: https://code.google.com/p/chromium/issues/detail?id=399224
关于javascript - 在 IndexedDB 中保存日期存储一个空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889445/