我有一个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
。
我如何获取这些记录?
答案 0 :(得分: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,所以我不知道这里的惯用方法是什么。