【问题标题】:Executing javascript inside Handlebars template在 Handlebars 模板中执行 javascript
【发布时间】:2012-11-19 04:37:34
【问题描述】:

我对 js 模板引擎完全陌生。车把似乎是流行的选择。我不喜欢执行条件、循环等的语法,但因为我完全有能力使用普通的旧 js 并且感觉更舒服,我不打算让任何不知道 js 的人接触我的模板,我在问 Handlebars 是否支持这个。

当然,最受欢迎的选择并不总是最好的。我更像是一个 Mootools 人,而 jQuery 让我发疯(很棒的库,只是不适合我)。那么如果 Handlebars 是模板引擎的 jQuery,那么 Mootools 会是什么呢?

【问题讨论】:

    标签: javascript template-engine handlebars.js


    【解决方案1】:

    在车把中注册一个助手可以让您了解您想要做的事情。有关完整示例,请参阅此链接:Registering handlebars helpers with node does absolutely nothing

    【讨论】:

      【解决方案2】:

      车把和mustache 背后的核心理念之一是它们的设计和意图是LOGICLESS。他们现在不能,they 也不会允许或建议您在模板中嵌入原始 JS。有人说这是一个更好的设计。如果你想要嵌入 javascript,几乎所有其他的传统模板引擎,例如 _.templatejadeEJS 都是基于(或至少支持)嵌入 JS 代码 sn-ps 的思想。

      【讨论】:

      • +1 用于建议 EJS。乍一看,这似乎正是我所需要的。
      • 我阅读了更多关于无逻辑模板哲学的内容,我不得不说我有点同意其中的一些想法。也就是说,我真的不同意仅仅因为其他人可能会滥用逻辑就应该禁止逻辑。尽管如此,阅读有关无逻辑的文章给了我宝贵的见解,我向与我遇到相同问题的任何人推荐相同的见解。
      • 我在哪里可以在句柄栏源中放置调试语句来检查模板的范围?我很懒,不想住在我的调试器/代码中。
      • 如果您指的是 debugger 关键字,则不能。你能做的最好的就是在调用模板函数渲染并进入编译函数之前添加一个断点/调试器。但是,如果您只想查看范围内的值,则可以执行 之类的操作。
      【解决方案3】:

      很抱歉在这里复活了一个老问题。如果您必须使用把手或者更改模板库不可行,您可以使用把手库中的 Helpers。

      http://handlebarsjs.com/expressions.html#helpers

      【讨论】:

      猜你喜欢
      • 2020-11-29
      • 2012-08-07
      • 1970-01-01
      • 2013-10-23
      • 2013-07-04
      • 2012-12-02
      • 2017-02-15
      • 1970-01-01
      • 2014-10-18
      相关资源
      最近更新 更多