对象没有响应Underscore shuffle

时间:2013-01-06 23:20:14

标签: backbone.js underscore.js

我正在使用下划线(1.3.0)开展骨干项目。 Underscore有一个shuffle方法,可以随机播放

创建一个集合

countries = new Countries
child

检查长度

countries.length
0

获取数据(使用下划线方法,获取)

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

现在它有四个长度

  countries.length
    4

尝试返回随机洗牌的数组     countries.shuffle();     TypeError:Object [object Object]没有方法'shuffle'

shuffle否则在我的环境中起作用

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

我看着Ryan Bates骨干护栏,他基本上做了同样的事情,但他的作品。但是,一个区别是,当他创建了Collection对象时,它有一个不同的返回值

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

但是,当我创建一个集合时,它会返回'child'

 countries = new Countries
    child

但我没有看到有所作为,因为我仍然可以调用countries.fetch();这是一种下划线方法。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可能使用旧版本的Backbone,或者与您的Backbone版本不兼容的下划线版本。

包含Collection.shuffle方法的第一个Backbone版本是0.9.0。当时的文档没有指定下划线的最低版本,但对于Backbone 0.9.1,最小值为> 1.3.1。对于当前的Backbone版本(0.9.9),它是> 1.4.3

此外,fetch不是下划线方法。