【发布时间】:2011-05-14 11:39:44
【问题描述】:
我正在使用 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"
原型:对象
【问题讨论】:
-
嗨.. 感谢您的评论 -- dao1.all 和 dao2.all 将返回相同的数组
-
你好,其实这个 dao1 和 dao2 是在测试 JS 对象。但是我验证了 dao1.save 和 dao2.save 是在同一个脚本中向 actualDao 添加记录,我通过使用 actualDao.all 计算数组 (r) 的长度来检查
-
嗨 mu.. 任何线索如何在 jsfiddle.net 中执行 JS?我稍微修改了你的代码,只转储到控制台。我在问题中提出了更详细的信息。非常感谢你的帮助。这可能是类似的问题stackoverflow.com/questions/5508634/…
-
嗨 mu.. 看着你给我的 jsfiddle 链接,我同意你的观点,这对你来说似乎很好。你介意告诉我你如何包含 Lawnchair js——它和我的一样吗(上面的 4 个 js)?非常感谢
-
嗨 mu,感谢您的耐心等待..我接受了您所有的 Lawnchair 参考资料,它有效!似乎问题发生在最新的 Lawnchair 版本中,再次感谢。你能说一些简短的答案——不是问题评论的一部分——我会将其标记为“anser”
标签: javascript lawnchair