场景是这样的:我有一个collectionView
在几个地方使用。我将一些选项传递给 View 以更改某些显示方面(主要是语言),因为到处的行为都完全相同。
我真的很想将此自定义扩展到emptyView
,但是我找不到一种方法。似乎没有对collectionView
上的emptyView
进行引用,并且在定义它之外,我似乎也无法从emptyView
访问collectionView
。
基本上,我希望能够执行以下操作:
var noItemsView = Backbone.Marionette.ItemView.extend({
tagName: "li",
className: "no-results",
template: Handlebars.compile(noResultsTemplate),
}),
leftToggleListView = Backbone.Marionette.CollectionView.extend({
tagName: "ul",
className: "left-toggle-view-list",
emptyView: noItemsView,
initialize: function() {
this.emptyView.model.set("name": "some custom name");
}
});
然后让
noItemsView
能够在其模板中呈现{{ name }}
。除了修改木偶之外,还有什么方法可以做到这一点?
最佳答案
实际上,您可以通过以下方式访问emptyView:
this.children._views[_.keys(this.children._views)[0]];
好像在新版本中,我们将有一个方法可以获取
emptyView
。https://github.com/marionettejs/backbone.marionette/pull/727