主干项目视图需要将 HTML 放入选项卡中
Backbone item view needs to put HTML into tabs
我正在使用Backbone和Bootstrap。 我的目标是以动态生成的笔记列表结束,笔记标题位于左侧垂直堆叠的选项卡列表中,注释内容位于右侧选项卡窗格中。
以下是一些快速的 HTML 演示:
<div class="row">
<div class="col-md-2">
<ul class="nav nav-tabs nav-stacked">
<li><a href="#note1" data-toggle="tab">Note 1 Title</a></li>
<li><a href="#note2" data-toggle="tab">Note 2 Title</a></li>
</ul>
</div>
<div class="col-md-10">
<div class="tab-content">
<div class="tab-pane" id="note1">Here is note 1's content</div>
<div class="tab-pane" id="note2">Here is note 2's content</div>
</div>
</div>
</div>
每个音符都是一个骨干模型。 我有一个 Notes 视图,负责拥有上面看到的集合的 HTML 内容,还有一个 Note 视图,负责呈现每个 Note 模型。
问题在于,每个 Note 模型所需的输出都由 HTML 的两个"部分"组成,它们位于 Notes View 拥有的 DOM 的不同部分(标题和内容)。
我的问题是,您如何工作以使注释视图上的 render() 方法能够返回必要的 HTML 以戳入标题和内容?
感觉它不能在一个返回值中返回两个项目,也许我需要返回一个包含两个元素"title"html和"content"html的数组。 这是在Backbone中解决此问题的规范最佳方法吗?
非常感谢收到进一步阅读的建议。
使用单个视图(您的"NotesView")而不是使用子视图来呈现整个内容会降低复杂性。您可以将每个注释元素与 data-id 或 data-cid 属性相关联,以便在发生感兴趣的事情(删除等)时,可以从集合中获取事件处理程序中的相应模型。然后,您可以在模板中对 Notes 集合进行迭代。
或者,无需尝试强制注释模型与视图为 1 比 1。如果我想为您提供的html提供单独的视图,我会有一个类似于"NoteTitleView"和"NoteContentView"的东西,它们都接受选项中的NoteModel。
相关文章:
- 如何放置'选择'基于angularJS中数据的html选项
- 从动态创建的html选择中选择所选选项
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何使新选择的html选项成为页面加载的第一选择
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在Android WebView中通过javascript检测点击HTML选项标记
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 向html选择元素添加选项
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- 如何插入PHP'生成'选项(html选择)
- 通过它在Jquery中的值获取选项 HTML
- 将事件处理程序附加到通过PHP加载的下拉选项html
- 在ie10,9中选择选项(html 5标签)在下一个输入(html 5标签)的位置
- 用Javascript从选项HTML中获取名称
- 从选项html标签中检索值并传递给另一个servlet
- 隐藏和显示列表框选项html/jscript
- 如何使只有一个可选菜单选项html和jquery
- 通过从选项html中选择打开一个新选项卡
- 只刷新一个选择/选项HTML对象
- 选项HTML,改变SelectBox插件的默认结构