6

在这里,我想访问从相应模板初始化新视图时传递的变量或变量列表。

代码示例

创建列表视图

@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>

初始化项目视图

view = new Taskit.Tasks.List.NewTask
    project_id: "project_id"

在这里,我的问题是如何从其模板访问“project_id”变量。

<%= project_id %> #is not working

在 Backbone 中,它可以通过以下方式实现

$(@el).html(@template({task: @model, project_id: "project_id"}))

如何在 Marionette.js 中做到这一点?

4

1 回答 1

12

您可以提供自己的方法来序列化数据:

https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.itemview.md#itemview-serializeddata

Backbone.Marionette.ItemView.extend({
  serializeData: function(){
    var data = this.model.toJSON();
    data.project_id = this.project_id;

    return data;
  }
});
于 2013-05-05T23:57:15.117 回答