2

コレクションがあり、collection.modelsモデルの配列を返します。ただし、呼び出すとcollection.get(someId)(この id はcollection.models配列内にあるモデルの id です)、取得しundefinedます。を見るとcollection._byId、空のオブジェクトのように見えます。

を使用できるようにするには、どうすれば適切に入力_byIdできますgetか? または、コレクションを初期化するときに何か間違ったことをしている可能性があります。これ_byIdが空の理由です。

4

3 に答える 3

3

少し遅れましたが、うまくいけば、これはまだ他の人に役立ちます。

Collection._byId は通常の js ハッシュ オブジェクトです。それについて空想的なことは本当に何もありません。Collection.get を機能させたい場合は、すべてのモデルを _byId ハッシュに追加するだけです。

コレクションのスコープ内:

var someId = '123'; // any id will do

this._byId[someId] = someModel; // someModel.id = '123'

console.log(!!this.get(someId)); // should return true
于 2013-02-12T16:52:24.200 に答える
0

これを Rails で使用しているため、Rails によって生成されたデフォルトの json は Backbone ではうまく機能しません。Backbone を学ぼうとしているときに、なぜそれを見なかったのかわかりません。とにかく、次のいずれかを実行できます。

  1. Rails が JSON を生成する方法を変更する
  2. バックボーン アプリが JSON を読み取る方法を変更します
于 2012-04-08T02:43:23.697 に答える