【问题标题】:In what ways does Backbone.js not support composed views?Backbone.js 在哪些方面不支持组合视图?
【发布时间】:2012-05-11 02:16:16
【问题描述】:

这里指的是这篇文章

http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

在我当前的应用程序中,我有两个视图。第一个是呈现表格的整体视图。第二个视图呈现单独的行并由主视图使用。我的行视图可以分成一个单独的文件并用于任何其他组件。这在什么方面是不可组合的?也许我误解了文章中使用的术语。

【问题讨论】:

  • 我正在尝试决定是否使用backbone.js(或其他替代方案)。感谢您的链接。

标签: javascript model-view-controller backbone.js


【解决方案1】:

那篇文章的作者特别提到了可组合的视图模板,如 Handlebars,与主干视图对象相结合。

他本质上是想采用视图优先的合成方法,其中模板将定义哪些视图被合成到最终视图中。此组合还将确定哪些对象用于运行视图。

例如,在 EmberJS 中,您可以将视图模板配置为与特定控制器相关联。这样做,您可以在模板本身中编写视图,并且将使用正确的控制器。这对于 Backbone 来说是不可能的,即使在使用 Handlebars 时也是如此 - 至少,在没有大量定制的情况下是不可能的。 Backbone 采用“presenter-first”方法(使用旧的 Model-View-Presenter 语言)或 View-object first 方法,其中视图对象本身控制渲染哪个模板。

【讨论】:

  • 非常感谢 Derick,您能想到任何应用程序,其中视图优先是更自然的方法吗?或者换个说法,是否有任何类型的应用程序 Backbone 不会削减它?我在您的博客上阅读了很多帖子,这是一个很棒的资源
  • 从功能的角度来看,我认为这并不重要。最终结果是用户看到的 HTML,以及响应用户与 HTML 交互的 JavaScript。无论是模板优先方法还是视图对象优先方法,更多的是工具细节。例如,ember 与骨干主要是个人喜好和风格
猜你喜欢
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-24
  • 2022-06-21
相关资源
最近更新 更多