我在这里查看 Angry Cats Backbone/Marionette 教程帖子
http://davidsulc.com/blog/2012/04/15/a-simple-backbone-marionette-tutorial/
http://davidsulc.com/blog/2012/04/22/a-simple-backbone-marionette-tutorial-part-2/
我遇到了同样的问题/需要在这里发布:
但我只能让它为 Backbone.Views 工作,而不是 Backbone.Marionette.ItemViews。
例如,从上面简单的骨干木偶教程链接中,以 AngryCatView 为例:
AngryCatView = Backbone.Marionette.ItemView.extend({
template: "#angry_cat-template",
tagName: 'tr',
className: 'angry_cat',
...
});
模板#angry_cat-template
看起来像这样:
<script type="text/template" id="angry_cat-template">
<td><%= rank %></td>
<td><%= votes %></td>
<td><%= name %></td>
...
</script>
我不喜欢的是 AngryCatView 需要有
tagName: 'tr',
className: 'angry_cat',
- 如果我tagName
取出,然后angry_cat-template
被包裹起来<div>
。
我想要的是在一个地方(angry_cat-template)指定HTML,并且在angered_cat-template中没有大多数HTML(所有<td>
标签),在AngryCatView中没有一点HTML(<tr>
标签)。我想在angerous_cat-template中写这个:
<script type="text/template" id="angry_cat-template">
<tr class="angry_cat">
<td><%= rank %></td>
<td><%= votes %></td>
<td><%= name %></td>
...
</tr>
</script>
这对我来说只是感觉更干净,但我一直在用 Derik Bailey 在“Backbone.js 关闭渲染中的 div 包裹”中的回答胡闹,并且无法让它为 Backbone.Marionette 工作。
有任何想法吗?