我需要什么下划线模板



我来自一个非常严格的OOP flash背景,我真的想更深入地了解骨干,我的问题是:

如果我对所有视图都有类(就像在flash中一样),_。模板功能对我来说,还是我现在可以忽略它?

标记模板,无论是带有下划线还是任何其他模板框架,都绝对是有用的。

似乎您将视图类和模板视为非此即彼的命题。,但事实并非如此。它们完全解决了一个不同的问题;它们相互补充,而不是相互取代。

视图类(在您的例子中是Backbone.View)作用域并封装了与视图相关的逻辑和事件处理。这是一个很好的实践,无论您是否决定使用模板引擎,都应该使用它。

另一方面,

模板只是简单地将数据转换为HTML,仅此而已。这是你的视图需要做的事情,在我看来,有几种方法可以实现这一点:

  • 通过字符串连接构建HTML
    • "<div>" + this.model.name + "</div>"…哈哈)
  • 用jQuery填充DOM节点
    • $(".name").text(this.model.name)和荒诞…
  • 使用某种类型的数据绑定
      很好,但是Backbone不支持开箱即用。
    • 插件确实存在(主干)。模型绑定,铆钉,粘接…)
  • 使用模板引擎
    • 比数据绑定更轻、更简单
    • 保持表示与逻辑分离

是您的选择,但是我不会没有数据绑定或模板框架。underscore提供的模板很强大,但我更喜欢语义化的、没有逻辑的模板,比如Handlebars。

如果您有JSON对象在视图中作为HTML输出,那么您可以从中获得一些好处。

根据我的经验,如果你打算做一个不仅仅是基本的应用程序,而且它也将成长,那么模板是一个很好的实践,它将为你以后节省一些时间。

您可以在模板文档页面获得更多信息http://underscorejs.org/#template

最新更新