1

我有一个spine.js应用程序,我试图获取users最近在该网站上发表评论的人的列表。我的服务器路径是/users/recently_commented.

我尝试创建一个类方法:

Spine.js 视频模型

class App.User extends Spine.Model
  @configure 'User', 'name'
  @extend Spine.Model.Ajax

  @recentlyCommented: ->
    $.get @url("recently_commented")

当我传递User.recentlyCommented给我的视图时,它会返回undefined

我将如何获取这些记录?

4

1 回答 1

1

我认为你打电话的方式有些问题$.get

首先,$.get它是异步的,因此User.recentlyCommented将返回一个jqXHR而不是用户实例列表。

其次,您应该$.get使用某种回调函数调用以在recently_commented数据到达时对其进行处理:

$.get @url('recently_commented'), (data) ->
    # Now convert 'data' to User model instances,
    # if this function cares about its context then
    # you'll probably want to use => to define it.

$.get您的视图还需要以某种方式侦听“新模型”创建的事件,因为用户直到(因此recentlyCommented)返回一段时间后才会存在。

抱歉,但我不了解 Spine,所以我不知道这里的惯用方法是什么。

于 2012-05-13T17:09:22.483 回答