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

看起来您一开始就正确设置了模型,然后用 value 覆盖它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 回答