2013-04-20 3 views
0

У меня есть проблема с «этим» ссылкой на Backbone с CoffeeScript, это метод, который показывает информацию художника:Backbone и CoffeeScript «это» ссылка вопрос

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», но есть ли более «элегантный» способ сделать это на «success: -> self.renderArtist (artist)», поэтому я могу избегать использования строки «self = @»?

Что-то вроде

success: @-> 
    @renderArtist(artist) 

Я не уверен, но я думаю, что должен быть способ сделать это. Thanks

ответ

2

Это как раз то, что делает в CoffeeScript. Он будет генерировать код, как вы показали для вас автоматически, поэтому вам не нужно писать его самостоятельно.

success: => 
    @renderArtist(artist) 
Смежные вопросы