javascript - 没有模板的 Backbone

标签 javascript backbone.js mustache handlebars.js

拥有不依赖于任何类型的模板系统的主干 View 是一种不好的做法吗?

当然,这并不意味着任何类型的 DOM 代码都将在 View 中使用硬编码字符串手动生成。不不不。我当然可以在 DOM 元素中缓存每个 View 的基本布局,设置为 display:none。但是,我想减少模板本身内的任何类型的值设置。我宁愿在 View 本身中使用 jquery 或任何其他类型的 DOM 修饰符形式来做到这一点。通过这种方式,我可以避免使用 Mustache、Handelbars、Underscore 模板系统等不断出现的差异以及我和我自己暴露在应用程序中的无数小时的努力。将所有 View 逻辑放在一个地方可以使一切变得更加清晰,至少在我看来。它提供了很多好处,例如适当的部分渲染、值绑定(bind)等,如果我想用 mustache 或其他东西来实现它们,我需要花费大量的时间。

我认为可能会出现的唯一问题是我使用 jQuery 进行的常量检查是否执行得足够快,但我想最终不应该成为这样的问题。

你怎么看?好的?坏的?实用吗?

最佳答案

恕我直言,不使用模板引擎本身并不是一个糟糕的设计决策。

模板引擎旨在生成更清洁和更易于维护的代码,如果您认为不使用它们会生成更清洁和更可维护的代码,那么您可以在没有它们的情况下运行。

我认为使用模板引擎 更好,但这只是个人喜好问题。我还通过 this.$el.find(".my-element").html( "new value");模板 与手动 DOM 修改相结合以进行部分更新.

关于javascript - 没有模板的 Backbone ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808638/

相关文章:

php - 在 Mustache PHP 中访问迭代字段的值

javascript - 新的 date() 返回下一个日期而不是今天的日期

javascript - 通过 jQuery 检测浏览器缓存

javascript - Backbone.js: Uncaught TypeError: Object #<Object> 没有方法 'get'

javascript - 在 mustache.js 中获取 : Uncaught TypeError: Invalid template! ...

mustache - 如何处理 mustache 模板中的字符串或字符串数​​组

javascript - 如何向此 "display none"jquery 脚本添加 "hcsticky"选项?

javascript - Highcharts x 轴刻度以偏移量开始

backbone.js - 重新渲染 View 导致输入失去焦点

javascript - 如何使用Backbone Js调用asmx web服务进行采集