我见过很多人使用带有 BackboneJS 的车把模板而不是下划线模板,甚至下划线也是 BackboneJS 的硬依赖。谁能告诉我这样做的好处?
3 回答
Handlebars:
- Compatible with mustache templates - what cam be used to use same syntax, or even templates
- More readable syntax
Underscore:
- No need to load extra library for template
- Underscore its not only template engine. It has 80+ useful functions for working with objects, arrays and collections.
On my point of view there are a lot of advantages and disadvantages of using these libs according project specifics.
这取决于您使用的位置以及您需要模板的用途。
例如,就像 Evgeniy 所说,当您想处理很多集合时,例如 SORT,或提取特定字段的值(从结果集中),提取 UNIQUE 值......这些是您最好使用的地方下划线。
回到 Evgeniy 所说的,我认为正是那些 80 多个有用的功能使 Underscore 变得重要。
我更喜欢 Handlebars for Templates,因为当涉及到模板需求时,我觉得 Handlebars 比 Underscore 更具可读性和复杂性。同样,这是我的偏好。
但底线是,我使用 Underscore 为其提供的功能和 Handlebars 用于模板。
希望这可以帮助。
Underscore 提供了任何项目所需的基本功能,这就是它的优势。
同时,Handlebars 可以有效地用于需要对一组数据进行大量格式化/常用功能的项目中。例如,如果一个项目需要以特定格式显示名称并且必须在整个应用程序中保持同步,那么把手会派上用场。
我们可以简单地编写一个把手并从应用程序的所有位置调用该函数。
简而言之,我会说两者都对开发很方便,并且它们以自己的方式很棒。
希望我没有让你感到困惑:)