Backbone和Coffeescript“这个”参考问题

时间:2013-04-20 19:47:18

标签: ruby-on-rails-3 backbone.js coffeescript

我在使用Coffeescript的Backbone上的“this”参考时遇到问题,这是一种显示艺术家信息的方法:

show: (id) ->
    self = @
    if @collection
        artist = @collection.get(id)
        @renderArtist(artist)
    else
        artist = new DemoBackbone.Models.Artist({id: id})
        artist.fetch
            success: ->
                self.renderArtist(artist)

renderArtist: (artist) ->
    view = new DemoBackbone.Views.ArtistsShow(model: artist)
    $('#content_artists').html(view.render().el)

这很好用,但是我使用的是“self = @”语句,所以我可以使用类函数“renderArtist”,但是有一种更“优雅”的方式来做到这一点:“成功: - > self .renderArtist(艺术家)“,所以我可以避免使用”self = @“行?

这样的东西
success: @->
    @renderArtist(artist)

我不太确定,但我认为应该有办法做到这一点。 感谢

1 个答案:

答案 0 :(得分:2)

这正是CoffeeScript中的double-arrow function所做的。它将生成您自动显示的代码,因此您无需自己编写代码。

success: =>
    @renderArtist(artist)