这:
@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() ))
虽然仍有同样的错误..
答案 0 :(得分: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
以设置为模型的属性。