-1
我有一个看起来像一个骨干视图:推上模板数据
var BooksView = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
this.model.fetch({
success : function(model, resp, opt) {
var data = { model, navigationText: this.navText };
this.$el.append (JST['templates/' + "book"] (data.toJSON()));
}.bind(this)
});
}
});
基本上,我试图通过模板数据与模型数据,以及是不是模型数据等数据。现在,我可以这样做:
this.$el.append (JST['templates/' + "book"] (model.toJSON()));
它会发送模型数据。但是,例如,我有一个我想传递给模板的变量(navigationText),但它不应该是model.set。
随着我当前的代码,我得到的错误:Uncaught SyntaxError: Unexpected token ,
,因为它不是一个有效的对象?
当我使用:'模型:model.toJSON()',然后我要访问我的模板类的变量:'model.model.variable',有没有办法不这样做呢? – Muhambi
是否有东西取代了你的'toJSON'实现?你看到的不是标准的主干行为。我想你可以使用'model.toJSON()。model'或类似的技巧,如果有必要的话。 –
我不知道JST,但在Underscore模板中,没有必要使用.toJSON()。您可以在模板中调用model.get()。 –