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;
  }
});