Backbone.js 木偶-访问ItemView模板或CompositeView模板中的变量
在这里,我想访问一个变量或一个变量列表,当从相应的模板初始化一个新视图时,会传递该变量或变量列表Backbone.js 木偶-访问ItemView模板或CompositeView模板中的变量,backbone.js,marionette,Backbone.js,Marionette,在这里,我想访问一个变量或一个变量列表,当从相应的模板初始化一个新视图时,会传递该变量或变量列表 <%= project_id %> #is not working 代码示例 创建列表视图 @Taskit.module "Tasks.List", (List, Taskit, Backbone, Marionette, $, _) -> class List.NewTask extends Taskit.Views.ItemView template:
<%= project_id %> #is not working
代码示例
创建列表视图
@Taskit.module "Tasks.List", (List, Taskit, Backbone, Marionette, $, _) ->
class List.NewTask extends Taskit.Views.ItemView
template: JST["backbone/taskit/tasks/tasks/list/_templates/new_task"]
上述列表视图的模板
<div id="new-task-form">
</div>
这里我的问题是如何从其模板访问“project_id”变量
<%= project_id %> #is not working
如何在Marionette.js中实现这一点?您可以提供自己的方法来序列化数据:
木偶视图中有templateHelpers属性,可用于将数据传递到其模板。要将数据传递给ItemView,u可以使用集合/复合视图+1的itemViewOptions属性,用于
templateHelpers
。Docs:Marionette core在这里,如果您想要查看更多数据,您应该使用templateHelpers
。如果需要转换模型或集合中的数据,请使用serializeData
。
$(@el).html(@template({task: @model, project_id: "project_id"}))
Backbone.Marionette.ItemView.extend({
serializeData: function(){
var data = this.model.toJSON();
data.project_id = this.project_id;
return data;
}
});