gpt4 book ai didi

javascript - 将 HTML 表的 元素指定为 Marionette for Backbone.js 中的区域

转载 作者:可可西里 更新时间:2023-11-01 01:31:50 25 4
gpt4 key购买 nike

问题

使用 Backbone.Marrionette.Layout呈现一些表格数据。 <tbody>表格的一部分是 Backbone.Marionette.Region那是为了显示 Backbone.Marionette.CollectionView .

我想不出如何使用 Marionette 的“区域”来做到这一点,而不会通过在 <tbody> 中插入一个额外的 HTML 元素来弄乱表格显示。元素。

示例代码

Layout看起来像这样:

Backbone.Marionette.Layout.extend({
template:...
regions:{
list_region: '#list-region'
}
onRender:function(){
var collection = new TheCollection()
var collectionView = new TheCollectionView({
collection: collection
})
// PROBLEM: The region seems to needs its own HTML element,
// and the CollectionView also seems to need its on HTML
// element, but as far as I can see, there is only room
// for one element: <tbody>?
this.list_region.show(collectionView);
});

布局模板包含整个表格:

<table>

<tbody id='list-region'>

</tbody>

<tfoot id='footer-region'>
Some other stuff goes here that is not a collection, so I was able
to make the View's 'tagName' property 'tr', which worked fine.
</tfoot>

</table>

有什么建议吗?

最佳答案

这种布局的目的仅仅是为了方便表格吗?如果是这样,您应该考虑改用 CompositeView。


RowView = Marionette.ItemView.extend({
tagName: "tr",
template: ...
});

TableView = Marionette.CompositeView.extend({
template: ...,

childView: RowView,

childViewContainer: "#list-region"
});

差不多就这些了。这会将您所有的 itemView 渲染到 tbody 中。

关于javascript - 将 HTML 表的 <tbody> 元素指定为 Marionette for Backbone.js 中的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043157/

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