0

これ :

@model

戻り値 :

Object { type="conjugation", verb="ser", yo="soy", more...}

しかし、私が試してみると:

@model.toJSON()

私は得る:

TypeError: this.model.toJSON is not a function

私は最終的にこの行を完成させようとしています:

$(@el).html(@template(@model.toJSON() ))

テンプレートを使用して Show でこのオブジェクトをレンダリングできるようにします。

推奨事項はありますか?

アップデート

コメントを読んでください。私はこれをモデルとして持っていますが、それらがどのように関連していないかがわかります。

class AiProject.Models.Verb extends Backbone.Model
  paramRoot: 'verb'

このタイプの動詞をインスタンス化してみます。

class AiProject.Routers.QuestionsRouter extends Backbone.Router
  initialize: (options) ->
    @verb = new AiProject.Models.Verb
    @verb = options.words

そして、私のビューに戻ります:

class AiProject.Views.Questions.ConjugationView extends Backbone.View
  template: JST["backbone/templates/questions/conjugation"]

render: ->
  $(@el).html(@template(@model.toJSON() ))

それでも同じエラーが発生します..

4

1 に答える 1

2

最初にモデルを正しく設定してから、値で上書きしているようですoptions.words

これの代わりに:

class AiProject.Routers.QuestionsRouter extends Backbone.Router
  initialize: (options) ->
    @verb = new AiProject.Models.Verb
    @verb = options.words

これを試して:

class AiProject.Routers.QuestionsRouter extends Backbone.Router
  initialize: (options) ->
    @verb = new AiProject.Models.Verb(options.words)

これにより、モデルが作成options.wordsされ、モデルの属性として設定されるように渡されます。

于 2012-07-14T23:58:38.743 に答える