我正在使用Lawnchair JavaScript库。参考这里 http://westcoastlogic.com/lawnchair/
在下面的代码中,因为我传递了不同的id,TABLE1和TABLE2 ..我希望dao1和dao2完全存储为2个不同的对象/存储。但事实是他们指的是同一件事......而dao1或dao2的任何“拯救”行动都会存放在同一个“Lawnchair”中。
即。 (dao1.all和dao2.all将返回相同的数组)。
感谢您的大/小想法/建议..谢谢!!
<script src="javascripts/lib/Lawnchair.js" type="text/javascript"></script>
<script src="javascripts/lib/adaptors/WebkitSQLiteAdaptor.js" type="text/javascript"></script>
<script src="javascripts/lib/adaptors/DOMStorageAdaptor.js" type="text/javascript"></script>
<script src="javascripts/lib/adaptors/LawnchairAdaptorHelpers.js" type="text/javascript"></script>
var dao1 = new Lawnchair('TABLE1');
dao1.nuke(); // Clear persistent storage.
dao1.save({111: '222'});
var dao2 = new Lawnchair('TABLE2');
dao2.nuke(); // Clear persistent storage.
dao2.save({333: '444'});
dao1.all(function(a) {
console.log("dao1")
console.log(a)
});
dao2.all(function(a) {
console.log("dao2")
console.log(a)
});
将在Java控制台中生成如下所示的内容
dao1
m-account.js:112[
Object
333: "444"
key: "ACF3A299-E986-4993-915F-A62FF009E846"
__proto__: Object
]
m-account.js:116
dao2
m-account.js:117[
Object
333: "444"
key: "ACF3A299-E986-4993-915F-A62FF009E846"
proto :对象
答案 0 :(得分:1)
Lawnchair效果很好:
我认为您可能正在检查错误的内容(即数组长度而不是内容),或者将一个对象放在两个Lawnchair数据库中,或者您可能没有包含所有Lawnchair JavaScript文件(我的jsfiddle中有几个)我不得不把这个名单从Lawnchair的一个例子中拉出来。)
答案 1 :(得分:0)
Lawnchair是一个跨移动设备键值数据存储,可以使您免于担心代码所处的平台。
你正试图让LawnChair屈服于做一些不打算做的事情。
您需要完整的HTML5数据库SQL。