0

LawnchairJavaScriptライブラリを使用しています。ここを 参照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:オブジェクト

4

2 に答える 2

1

Lawnchairは正常に機能します:

http://jsfiddle.net/ambiguous/D4u57

間違ったことをチェックしている(つまり、コンテンツではなく配列の長さ)か、1つのオブジェクトを2つのLawnchairデータベースに入れているか、Lawnchair JavaScriptファイルのすべてが含まれていない可能性があります(私のjsfiddleにはいくつかあり、 Lawnchairの例の1つからそのリストを引き出すため)。

于 2011-05-14T03:38:34.167 に答える
0

Lawnchairは、クロスモバイルデバイスのKey-Valueデータストアであり、コードがどのプラットフォーム上にあるかを心配する必要がありません。

LawnChairを曲げて、設計されていないことを実行しようとしています。

完全なHTML5データベースSQLを実行する必要があります。

于 2011-05-11T17:28:20.220 に答える