0

だから私は Backbone.js フレームワークに飛び込み、ついにモデル/コレクションで遊ぶところまで来ました。

つまりね。データベースとして localstorage を使用していますが、私の問題は、ID が次のように表示されることに満足していないことです。

id : "53ec77a0-8b06-c31b-d72c-a350741898d0"

1、2、3、または cid のように、ID をより適切な外観に設定する簡単な解決策はありますか。cidで試してみましたが、ローカルストレージからデータを取得するたびに変更されるため、良くありません...

前もって感謝します!

/ハリス

4

1 に答える 1

1

うーん、なぜそれをしたいのかわかりません.IDを定義し、それらの一意性を確保するのは実際にはアダプタの仕事であり、あなたのものではありません!

バックボーンの localstorage のコードを見ると、ここで問題を引き起こしている行を確認できます。

 create: function(model) {
    if (!model.id) {
      model.id = guid();
      model.set(model.idAttribute, model.id);
    }
    ...
  }

したがって、それについては2つの方法があります。

  1. fork バックボーンの localstorage を guid() の呼び出し (ランダムな ID を生成するだけで、一意性を保証しようとはしません) をより適切なものに置き換えます。

  2. save() を呼び出す前に、独自の ID を指定してください。localstorage の場合、ID に実際の制約がないため許容範囲ですが、特にアプリを複数回実行する [ブラウザーを閉じて再度開く] 間で一意にするのはあなたの仕事になります (lastId を保持することができますDB で AutoIncrement を使用して主キーのように動作させるために、ローカル ストレージを毎回インクリメントします)。

于 2013-12-04T14:25:31.250 に答える