gpt4 book ai didi

javascript - Marionette.CompositeView,如何将参数传递给Marionette.ItemView

转载 作者:行者123 更新时间:2023-12-03 03:06:39 25 4
gpt4 key购买 nike

我想从 Marionette.ItemView 访问 app.vent。

也许可以选择将参数 (app.vent) 从 Marionette.CompositeView 传递到 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" 对都将提供给初始化程序中的 itemview 选项


Backbone.Marionette.ItemView.extend({
initialize: function(options){
options.some; //=> "option"
options.goes; //=> "here"
}
});

此外,如果您需要为构建的每个 itemView 实例运行特定代码,您可以重写 buildItemView 方法,为集合中的每个对象提供项目 View 的自定义创建。


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

有关详细信息,请参阅:

关于javascript - Marionette.CompositeView,如何将参数传递给Marionette.ItemView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com