0

我正在使用 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"

原型:对象

4

2 回答 2

1

草坪椅工作正常:

http://jsfiddle.net/ambiguous/D4u57

我认为您可能正在检查错误的内容(即数组长度而不是内容),或者将一个对象放在两个 Lawnchair 数据库中,或者您可能没有包含所有 Lawnchair JavaScript 文件(我的 jsfiddle 中有几个,我有将该列表从 Lawnchair 示例之一中拉出)。

于 2011-05-14T03:38:34.167 回答
0

Lawnchair 是一个跨移动设备键值数据存储,让您不必担心代码在哪个平台上。

你正试图让 LawnChair 做一些它不打算做的事情。

您需要执行完整的 HTML5 数据库 SQL。

于 2011-05-11T17:28:20.220 回答