Marionette.CompositeView,如何将参数传递给Marionette.ItemView
Marionette.CompositeView, how to pass parameters to Marionette.ItemView
我想从Marionette.ItemView访问app.vent。
也许一个选项是从Marionette.CompositeView
传递一个参数(app.vent
)给Marionette.ItemView
。
这是我的代码:
// view/compositeView.js
define([
'marionette',
'views/item'
], function (Marionette, itemView) {
var ListView = Marionette.CompositeView.extend({
itemView: itemView
});
});
有什么想法吗?
附言:
我无法从itemView访问该应用程序,因为存在循环依赖问题。
app -> view/compositeView -> view/itemView
v0.9 添加了一个可用于此目的的itemOptions
属性。它可以是对象文本,也可以是返回对象文本的函数。
Backbone.Marionette.CompositeView.extend({
itemView: MyItemViewType,
itemViewOptions: {
some: "option",
goes: "here"
}
});
此属性返回的所有key: "value"
对都将提供给初始值设定项中的项视图选项
Backbone.Marionette.ItemView.extend({
initialize: function(options){
options.some; //=> "option"
options.goes; //=> "here"
}
});
此外,如果需要为生成的每个 itemView 实例运行特定代码,则可以重写 buildItemView
方法,以便为集合中的每个对象提供项视图的自定义创建。
buildItemView: function(item, ItemView){
// do custom stuff here
var view = new ItemView({
model: item,
// add your own options here
});
// more custom code working off the view instance
return view;
},
有关详细信息,请参阅:
- v0.9 的更新日志 itemViewOptions 的 CollectionView 文档 - 请注意,CompositeView 是从 CollectionView
- 扩展而来的,因此所有 CollectionView 文档对 CompositeView 也有效
- 构建项视图注释源代码
从木
偶 v2.0.0 开始,使用子视图选项而不是 itemViewOptions 将参数传递给子视图:
var MyCompositeView = Marionette.CompositeView.extend({
childView: MyChildView,
childViewOptions: function(model, index) {
return {
vent: this.options.vent
}
}
});
var MyChildView = Marionette.ItemView.extend({
initialize: function(options) {
// var events = options.vent;
}
});
new MyCompositeView({ vent: app.vent, collection: myCollection});
但是要处理事件,让我们使用 Marionette.Radio,而不是将 app.vent 传递给视图。
相关文章:
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- JavaScript常量-作为参数传递或直接使用
- 如何将javascript对象作为参数传递到c#web服务中
- 将参数传递给函数
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- javascript,将参数传递给函数内部的闭包中的回调
- Javascript-将包含变量的html字符串作为参数传递
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- 在嵌套递归指令中将参数传递给父控制器方法
- each()-将额外的参数传递给回调参数
- 代码气味-将布尔控制参数传递给函数
- 如何将自定义参数传递到FullCalendar事件提要
- 将参数传递给函数,同时保留事件处理程序
- 将图标作为参数传递不会;t工作-谷歌地图
- 如何使用按钮将参数传递给函数
- 如何将多个参数传递给输入's onChange处理程序
- 是否可以在 Javascript 中将未声明的变量作为参数传递