【发布时间】:2011-10-30 02:15:58
【问题描述】:
在技术上是否可以使用模板嵌套视图,例如:
<%= new PhotoCollectionView({model:new PhotoCollection(model.similarPhotos)}).render().el) %>
我也可以将所有东西都放在渲染方法中,但是模板为灵活性和布局提供了更多空间。
我尝试了上述变体,但我在屏幕上得到的结果是[HTMLDivElement]。
如果我尝试仅从其中提取 HTML,使用 jQuery 的 HTML,我会对其进行渲染,但事实证明,打印出来的 DOM 节点与视图所引用的节点不同,因为使用视图实例无法与这些 DOM 节点进行任何交互。例如,如果在视图中我说$(this.el).hide(),则不会发生任何事情。
如果有的话,正确的方法是什么?
【问题讨论】:
-
我不确定这种技术在技术上是否可行,但我建议不要这样做,因为模板应该只包含简单的条件语句而不是任何应用程序逻辑。应用程序逻辑应保留在您的视图中。这样一来,关注点就可以明确分离,并且您的应用程序将更易于维护。
-
你可以使用 React.js 嵌套视图
标签: javascript jquery backbone.js templating