2011-10-26 23 views
3

以下のコードのようなJSONオブジェクトの配列を使用してバックボーンコレクションをブートストラップしようとしています。しかし、コレクションオブジェクトのリセットを試みると、私はバックボーンからエラーが発生します - Uncaught TypeError: undefined is not a functionJSONオブジェクトの配列を含むBackbone.jsブートストラップ

JSON配列をUsers.UserModelオブジェクトの配列に変更すると、それは機能します。私は、コレクションinitializationのメソッドまたは何か私が見たすべての例に似て何かの根本的なものを実際にresetへの呼び出しよりも多くのコードを含んでいない欠けている必要があります。

class Users.UsersCollection extends Backbone.Collection 
    model: Users.UserModel 
    url: '/Users' 

class Users.UserModel extends Backbone.Model 

# document ready 
$ -> 
    Users.userCollection = new Users.UsersCollection() 

    users = [ 
     { Id: 1, Username: 'dan', FirstName: 'Dan', LastName: 'Ormisher' }, 
     { Id: 1, Username: 'simon', FirstName: 'Simon', LastName: 'Lomax' }, 
     { Id: 1, Username: 'jon', FirstName: 'Jon', LastName: 'Swain' }, 
     { Id: 1, Username: 'martin', FirstName: 'Martin', LastName: 'Rue' } 
    ] 

    Users.userCollection.reset(users) 

答えて

7

私はこれを考え出した(私はところでのCoffeeScriptを使用していますが、それは無関係です)、私は、エラーが起こっていたBACKBONE.JSファイル内のポイントに私のコードを通じて段階それがライン570で起こっていたことを発見しました。コレクションがそれ自身のmodelプロパティを使用しようとしていたところでは、this.modelを使用していると、それは未定義のエラーを投げていました。

私のコードを見て、モデルの前でコレクションを宣言していたことに気づいたので、コレクションのmodelプロパティを設定していたとき、それを未定義に設定していました!

+0

私には同じ問題があります。モデルの前にコレクションを定義したコードを実行していました。 – EricSonaron

関連する問題