1

我正在使用 Backbone 和 Marionette 编写一个 javascript Web 应用程序,并且我的模板是使用 Handlebars 创建的。

我有一个包含三个部分的视图:进度指示器、结果列表和页脚。这些中的每一个都可以根据操作是否正在进行或是否存在错误来显示或隐藏。

我应该在 Handlebars 模板中包含条件代码,按照{{unless resultsFetched}}and do this.render()often 的方式,还是在视图中使用 javascript,比如this.ui.resultsList.show()and this.ui.resultsList.hide()

谢谢。

更新

以下是我认为在视图模板中包含逻辑的一些优点和缺点:

优点:

  • 我认为这看起来像是一种声明式(而不是命令式)风格,其中视图表示它将根据模型状态以某种方式行事。
  • 随着事情变得越来越复杂,阅读具有条件逻辑的模板可能比广泛使用的javascript 代码show()更容易。hide()

缺点:

  • 是否仍然遵循 MVC 架构?
  • 这违背了 Mustache 的无逻辑观点的哲学
4

1 回答 1

0

作为一般规则,您会希望在视图中保留尽可能多的逻辑,并且只在模板中进行演示。可以肯定的是,这并不总是实用的,但是您的应用程序越大,您希望您的模板就越干净。

话虽如此,今天我在 Underscore 模板中使用了 for 循环,因为我不需要 CollectionView-ItemView 组合来处理要添加到 DOM 的列表中的小东西。

TL:博士;试着坚持我的第一段,但用你的直觉:)

于 2013-07-27T01:44:04.587 回答