我来自一个非常严格的 OOP flash 背景,我真的很想更深入地了解骨干,我的问题是:
如果我有所有视图的类(很像在 Flash 中),对我来说 _.template 功能有什么用途/好处,还是我现在可以忽略它?
我来自一个非常严格的 OOP flash 背景,我真的很想更深入地了解骨干,我的问题是:
如果我有所有视图的类(很像在 Flash 中),对我来说 _.template 功能有什么用途/好处,还是我现在可以忽略它?
标记模板,无论是使用下划线还是任何其他模板框架,都是非常有用的。
您似乎将 View 类和模板视为某种非此即彼的命题。但事实并非如此。他们完全解决了一个不同的问题;它们相互补充,而不是替代。
视图类(Backbone.View
在您的情况下)范围并封装了与视图相关的逻辑和事件处理。这是一种很好的做法,无论您是否决定使用模板引擎,都应该使用它。
另一方面,模板只是将您的数据转换为 HTML,仅此而已。这是您的视图需要做的事情,在我看来,有几种方法可以实现这一点:
"<div>" + this.model.name + "</div>"
...呃)$(".name").text(this.model.name)
荒谬的...选择是你的,但我不会没有数据绑定或模板框架。underscore 提供的模板功能强大,但我更喜欢语义化、无逻辑的模板,例如Handlebars。
如果您在视图中将 JSON 对象作为 HTML 输出,那么您可以从中受益。
根据我的经验,如果你打算制作一个不仅仅是基本的应用程序,而且它也将成长,那么模板化是一种很好的做法,可以在以后为你节省一些时间。
您可以在模板文档页面http://underscorejs.org/#template获取更多信息