Templates 什么是无逻辑模板

Templates 什么是无逻辑模板,templates,web,mustache,handlebars.js,Templates,Web,Mustache,Handlebars.js,据我所知,模板用于将表示与逻辑分离,并且可以重用,因为它不依赖于任何逻辑。。。很多人建议我使用handlebar.js作为模板(这是我第一次听到这个名字) 我想知道无逻辑模板是什么意思 谢谢 注:我也讨论了这个问题。。但是我没有弄清楚。模板库的基本任务是提供一种机制,将一些计算数据填充到或多或少的静态模板中,就像在“Hello,${name}”中填充名称一样。然而,许多模板库提供了附加功能,如if-then语句、循环、任意代码执行等。这是无逻辑模板试图避免的逻辑 这意味着无逻辑模板库只提供将数据

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

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

谢谢


注:我也讨论了这个问题。。但是我没有弄清楚。

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

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

您提到的问题中给出了使用无逻辑模板的原因,因此我不会在这里列出它们。

“Handlebar是一个无逻辑的模板引擎,这意味着HTML页面上的模板中几乎没有逻辑。Handlebar和任何模板引擎最重要的用途是保持HTML页面简单、干净,并与基于逻辑的JavaScript文件分离,Handlebar很好地实现了这一目的
我认为上面的引文回答了原来的问题。

由于无法在模板内执行JavaScript,Handlebar的逻辑性就比较低。您不能编写
{{{if num==1}}
。相反,您必须在JS中准备一个布尔值:
var numIsOne=num==1;
,模板应该包含
{{{if numIsOne}}
。这就是logic less的意思。

但在handle bar js中,我们也有if语句?那么它是如何变成logic less的?所以,它不是logic less模板?那么它们如何与mustache js兼容呢?来自网站:“mustache模板与Handlebar兼容,所以你可以将一个mustache模板导入Handlebar,这意味着你可以在handlebar.js中使用mustache模板,但不一定在mustache中使用handlebar js模板,特别是如果你使用附加的,而不是无逻辑的附加。