2
我正在为我的项目使用Backbone.js。
对不起,我是骨干新手,因此我可能会错过一些非常微不足道的东西。骨干 - 在表中保存thead查看
这是一个HTML片段:
<table id="notes" class="table">
<thead>
<tr><th>title</th><th>comment</th></tr>
</thead>
<tbody id="notesTableBody">
</tbody>
</table>
这是骨干代码,它应该在片段“注入” HTML:
App.view.NoteListView = Backbone.View.extend({
el:"tbody#notesTableBody",
initialize:function() {
this.model.bind("reset", this.render, this);
},
render:function (eventName) {
_.each(this.model.models, function (note) {
$(this.el).append(new App.view.NoteListItemView({model:note}).render().el);
}, this);
return this;
}
});
为清楚起见,我没有粘贴NoteListItemView
代码,因为我认为它不相关。
我的问题是通过骨干呈现的HTML代码如下:
<table id="notes" class="table">
<tbody id="notesTableBody">
<tr><td>title 1</td><td>comment 1</td></tr>
</tbody>
</table>
基本上骨干从表中删除的THEAD。
我不明白为什么 - 我如何确保Backbone不会删除它?
我不认为Backbone正在做什么''(http://jsfiddle.net/ambiguous/cFvX2/),你如何创建和渲染该视图? $('#notes')。html((new App.view.NoteListView).render()。el)'? –
+0
A
4
+0
相关问题
-
1. 骨干查看保存(最佳实践)
-
2. 在骨干中导入json查看
-
3. 骨干查看触发了查看
-
4. 通过骨干查看
-
5. 骨干模型保存
-
6. 骨干js批量保存
-
7. 骨干上没有保存
-
8. 扩展定制骨干查看
-
9. 骨干 - 查看不更新页面
-
10. 骨干JS查看事件不烧?
-
11. 骨干查看未初始化
-
12. 骨干查看点击世界你好
-
13. 骨干js,绑定模型查看
-
14. 骨干,触发查看事件
-
15. 骨干查看属性没有设置
-
16. 骨干路线和查看状态
-
17. 骨干列表视图/渲染列表查看项目
-
18. 骨干JS手柄保存模型?
-
19. 骨干模型新vs未保存
-
20. 骨干保存模型问题
-
21. 骨干模型保存示例
-
22. 骨干保存/获取VS DAO?
-
23. 骨干查看模板 - 它们存储作为外部文件
-
24. 渲染子视图在骨干中查看
-
25. 我在成功回调和错误回调中看到的骨干模型是不同的。 #骨骼保存
-
26. 骨干
-
27. 骨干查看正在初始化的AJAX调用
-
28. 查看不显示模板中的骨干模型
-
29. 骨干collection.reset()
-
30. 骨干
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新问题
-
1. F#中的逻辑否定运算符? (! - 等效)
-
2. 如何在BATCH中使用“If”
-
3. pics not in codeignitor
-
4. 特殊按钮形状(稍微旋转箭头)
-
5. emacs elisp切换到缓冲区,并按照
-
6. 正在返回什么以及本文档中描述的功能正在采取什么措施?
-
7. MySQL数据库 - 字符集和归类转换为utf8mb4和utf8mb4_unicode_ci?
-
8. 如何让数据库
-
9. 在c#oop如何解释为什么基类可以采取派生类实例
-
10. 加入3个表SQL
-
1. 骨干查看保存(最佳实践)
-
2. 在骨干中导入json查看
-
3. 骨干查看触发了查看
-
4. 通过骨干查看
-
5. 骨干模型保存
-
6. 骨干js批量保存
-
7. 骨干上没有保存
-
8. 扩展定制骨干查看
-
9. 骨干 - 查看不更新页面
-
10. 骨干JS查看事件不烧?
嗨“亩太短”。这正是问题 - 做得好!我的确按照你展示的那样呈现它。现在的问题是,我不知道如何改变这条线来保护thead。任何想法? – dan
回答
您的
NoteListView
将不会在el
之外写入任何内容(例如:http://jsfiddle.net/ambiguous/cFvX2/),因此您的问题在别处。我的猜测是,你正在做一些相同的:
,这将完全取代
#notes
表的内容只是<tbody>
(即的el
NoteListView
)。有几个方法可以解决您的问题。你可以只调用
render
,而忽略它返回什么:这几乎是我的第一个演示小提琴做了什么。
或者你可以使用
id
andtagName
instead ofel
:,然后
append
视图的el
到$('#notes')
:演示:http://jsfiddle.net/ambiguous/HTAkM/
你也可以让调用者指定
el
:,然后
render
为el
,而无需关心render
的返回值:演示:http://jsfiddle.net/ambiguous/2Ptkp/
虽然我在这里,你不需要
$(this.el)
最近版本的Backbone为您提供了this.$el
的意见:如果你的看法被包裹的集合,你应该使用
this.collection
而不是this.model
:查看对待
collection
option specially just likemodel
:骨干的集合也有several Underscore methods mixed in,所以你不必这样说:
你可以打电话
each
权的集合:另外,如果你是绑定到
"reset"
事件:你可能希望你的
render
以追加更多的事情之前清除出el
:如果不这样做
empty
的el
你会添加更多的东西出来的时候,你可能意味着更换其内容与新事物。来源
2012-05-23 21:54:24
这真的是一个很好的答案 - 非常感谢你! – dan
相关问题