我正在使用 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 的无逻辑观点的哲学