1

次のようなランダムな Book モデルを取得する機能が必要です。

book = App.Models.Book.random()

次の Backbone.js モデルがあります (CoffeeScript で)

class App.Models.Book extends Backbone.Model
  @random: ->
     $.getJSON "/books/random", (data) ->
       new App.Models.Book
         author: data['author']
         title: data['title']

しかし、おわかりのように、@random はインスタンスではなく jqXHR オブジェクトを返しています。私は確認しdataましたが、コールバック内で正しいです。

4

2 に答える 2

1

電話

book = App.Models.Book.random()

クラスで

class App.Models.Book extends Backbone.Model

  @random: ->
    temp = new App.Models.Book()
    temp.url = "/books/random"
    temp.fetch {wait: true}  # or whatever parameters you want

それはあなたの仕事をするはずです。

しかし、私にとっては、非クラス関数の方法を好むでしょう。

book = new App.Models.Book()
book.getRandomData()

クラスで

class App.Models.Book extends Backbone.Model

  getRandomData: =>
    @url = "book/random"
    @fetch {wait: true}
于 2013-04-02T09:40:05.690 に答える