0

アンダースコア(1.3.0)を使用したバックボーンプロジェクトに取り組んでいます。アンダースコアには、シャッフルするシャッフル方式があります

コレクションを作成する

countries = new Countries
child

長さを確認してください

countries.length
0

データをフェッチします(アンダースコアメソッドを使用して、フェッチします)

 countries.fetch();
    Object
XHR finished loading: "http://localhost:3000/countries". jquery.js:8215

今では4つの長さです

  countries.length
    4

ランダムにシャッフルされた配列countries.shuffle();を返そうとします。TypeError:オブジェクト[オブジェクトオブジェクト]にはメソッド'shuffle'がありません

それ以外の場合、シャッフルは私の環境で機能します

   _.shuffle([1, 2, 3, 4, 5, 6]);
[2, 1, 4, 5, 6, 3]

私はライアンベイツのバックボーンレールキャストを見ました、そして彼は本質的に同じことをしますが、彼の作品です。ただし、1つの違いは、Collectionオブジェクトを作成したとき、戻り値が異なることでした。

entries = new Raffler.Collections.Entries()
entries #return value

ただし、コレクションを作成すると、「子」が返されます。

 countries = new Countries
    child

しかし、countries.fetch();を呼び出すことができるので、違いが生じるとは思いません。これはアンダースコア方式です。

助言がありますか?

4

1 に答える 1

0

古いバージョンのバックボーン、またはご使用のバージョンのバックボーンと互換性のないバージョンのアンダースコアを使用している可能性があります。

メソッドを含むBackboneの最初のバージョンCollection.shuffleは0.9.0でした。当時のドキュメントでは、アンダースコアの最小バージョンは指定されていませんでしたが、Backbone0.9.1の最小バージョンはでした> 1.3.1。現在のバックボーンリリース(0.9.9)の場合は> 1.4.3

また、fetchアンダースコア方式ではありません。

于 2013-01-06T23:43:18.757 に答える