【问题标题】:What is Logic-less template什么是无逻辑模板
【发布时间】:2012-01-18 06:24:49
【问题描述】:

据我所知,模板用于将表示与逻辑分开,并且可以重复使用,因为它不依赖任何逻辑...许多人建议我使用 Handlebars.js 进行模板。(这是第一次我听到这个名字)。

我想知道无逻辑模板是什么意思?

谢谢

注意:我也经历过这个What's the advantage of Logic-less template (such as mustache)? 问题。但我没有明确的想法。

【问题讨论】:

    标签: templates web mustache handlebars.js


    【解决方案1】:

    Handlebars 是无逻辑的,因为您无法在模板中执行 JavaScript。你不能写{{# if num==1}}。相反,您必须在 JS 中准备一个布尔值:var numIsOne = num==1;,并且模板应该包含{{# if numIsOne }}。这就是无逻辑的意思。

    【讨论】:

      【解决方案2】:

      模板库的基本任务是提供一种机制,将一些计算数据填充到或多或少的静态模板中,例如在“Hello, ${name}”中填写名称。然而,许多模板库提供了附加功能,例如 if-then 语句、循环、任意代码执行等。这是无逻辑模板试图避免的逻辑。

      这意味着无逻辑模板库仅提供将数据填充到模板中的基本功能。

      使用无逻辑模板的原因在你引用的问题中已经给出,这里就不一一列举了。

      【讨论】:

      • 但是在把手 js 中我们也有 if 语句仪式吗?那么它是如何变得不那么逻辑的呢?
      • 所以,它不是逻辑少的模板吗?那么它们如何与 mustache js 兼容?
      • 来自网站:“Mustache 模板与 Handlebars 兼容,因此您可以使用 Mustache 模板,将其导入 Handlebars,然后开始利用额外的 Handlebars 功能。”。这意味着您可以在handlebars.js 中使用mustache 模板,但不一定在mustache 中使用handlebar js 模板,特别是如果您使用附加的非逻辑添加。
      【解决方案3】:

      “Handlebars 是一个无逻辑的模板引擎,这意味着 HTML 页面上的模板中几乎没有逻辑。Handlebars 和任何模板引擎最重要的用途是让您的 HTML 页面保持简单并从基于逻辑的 JavaScript 文件中清理和解耦,Handlebars 很好地满足了这个目的。”来自 javascriptissexy.com 我认为上面的引用回答了原来的问题!

      【讨论】:

        猜你喜欢
        • 2010-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-26
        • 2011-09-07
        • 2023-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多