Backbone.js引导程序,带有一组JSON对象

jcv*_*dan 3 javascript jquery json backbone.js

我正在尝试使用JSON对象数组来引导骨干集合,如下面的代码所示.但是,当我尝试在集合对象上调用reset时,我从主干上得到一个错误 - Uncaught TypeError: undefined is not a function.

如果我将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)
Run Code Online (Sandbox Code Playgroud)

(我正在使用coffeescript btw,但那是无关紧要的)

jcv*_*dan 7

我只想到了这一点,我将我的代码逐步调整到了出现错误的backbone.js文件中,发现它发生在第570行(不是缩小的obv).集合试图使用它自己的model属性使用this.model它抛出未找到的错误.

当我回去查看我的代码时,我意识到我在模型之前声明了这个集合,所以当我设置集合的model属性时,它将它设置为undefined!