Pro*_*eus 2 javascript jquery backbone.js marionette
我正在将我的主干示例转换为现在扩展Marionette.我发现很难理解用模板实现同样的东西.让我解释.
这是我用来渲染模板的方式
在视图渲染功能中:
campaign.fetch({
var template = _.template(campaignTemplate, {campaign: campaign});
that.$el.html(template);
Run Code Online (Sandbox Code Playgroud)
使用backbone.marionette我不知道如何做同样的事情,这是我没有任何喜悦的尝试:
var campaginView = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
// campaign id passed from the URL Route
this.campaign_id = options.id;
},
model: new CampaginModel({
id: this.campaign_id
}),
template: campaignTemplate({
campaign: this.model.fetch()
}),
}); // end campagin view
Run Code Online (Sandbox Code Playgroud)
*我做错了什么?下划线甚至没有!*
Marionette不要求您将模型传递给模板,这是您需要在所有Backbone视图中执行的重复任务,而Marionette背后的一个想法是减少样板代码.
var campaginView = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
// campaign id passed from the URL Route
this.campaign_id = options.id;
this.model = new CampaingModel({id:this.campaign_id});
this.model.fetch();
},
template: campaignTemplate,
});
Run Code Online (Sandbox Code Playgroud)
Marionette文档中提供了大量清晰简洁的示例资源,请查看此链接 https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.itemview.md
我也为此创建了一个小jsfiddle
http://jsfiddle.net/rayweb_on/msWvV/