Backbone.Marionette - Accessing variables in the ItemView template or CompositeView template
这里我要访问一个变量或变量列表,该变量或变量列表是从相应模板中初始化一个新视图时传递的。
代码示例
创建列表视图
1 2 3 | @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"] |
以上列表视图的模板
1 |
初始化ItemView
1 2 | view = new Taskit.Tasks.List.NewTask project_id:"project_id" |
这里我的问题是如何从其模板访问" project_id "变量。
1 | <%= project_id %> #is not working |
在Backbone 网中,可以通过
实现
1 | $(@el).html(@template({task: @model, project_id:"project_id"})) |
如何在Marionette.js中做到这一点?
您可以提供自己的方法来序列化数据:
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.itemview.md#itemview-serializedata
1 2 3 4 5 6 7 8 | Backbone.Marionette.ItemView.extend({ serializeData: function(){ var data = this.model.toJSON(); data.project_id = this.project_id; return data; } }); |