0

我正在使用下划线(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 的骨干 Railscast,他基本上做同样的事情,但他的作品。不过,其中一个区别是,当他创建 Collection 对象时,它具有不同的返回值

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

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

 countries = new Countries
    child

但我认为这没有什么不同,因为我仍然可以调用 country.fetch(); 这是一种下划线方法。

有什么建议么?

4

1 回答 1

0

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

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

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

于 2013-01-06T23:43:18.757 回答