Javascript Backbone.js:未显示模型

Javascript Backbone.js:未显示模型,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我想显示一个简单的语言列表 class Language extends Backbone.Model defaults: id: 1 language: 'N/A' class LanguageList extends Backbone.Collection model: Language url: '/languages' languages = new LanguageList class LanguageListView

我想显示一个简单的语言列表

class Language extends Backbone.Model

    defaults:
        id: 1
        language: 'N/A'

class LanguageList extends Backbone.Collection

    model: Language
    url: '/languages'

languages = new LanguageList

class LanguageListView extends Backbone.View

    el: $ '#here'

    initialize: ->
        _.bindAll @
        @render()

    render: ->
        languages.fetch()
        console.log languages.models

list_view = new LanguageListView
languages.models
显示为空,但我检查了请求是否已传入,语言是否已获取。我错过什么了吗

谢谢。

呼叫是异步的:

fetch
collection.fetch([options])

从服务器获取此集合的默认模型集,并在模型集到达时重置集合。选项哈希将
成功
错误
回调作为参数传递
(收集、响应)
。当模型数据从服务器返回时,集合将重置

结果是,在
languages.fetch()
调用从服务器获取任何信息之前,您的
console.log languages.models
被调用

因此,您的
渲染应该更像这样:

render: ->
    languages.fetch
        success: -> console.log languages.models
    @ # Render should always return @
这应该能让你在控制台上找到些东西

调用
语言更有意义。在
initialize
中获取
,并将
@render
绑定到集合的
reset
事件;然后你可以在收藏完成后把东西放在页面上


而且,CoffeeScript很少需要使用
\uuuu.bindAll@
。您应该使用创建相关方法。

是否重置并清空集合?我不知道如何使用它。@alste:
reset
也是一个集合将触发的事件: