html {{^ Foo}} ^选择标记

时间:2012-11-06 08:28:03

标签: html syntax template-engine

我一直在用html代码看到这个。显然它的Jquery标签用于添加html模板。

{{#Foo}} 
<div> bla bla </div>

我猜类Foo ??

{{^Foo}}
<div> bla bla </div>

什么是^ for ??

现在我知道它的作用,它将HTML元素存储在变量Foo中,然后在以后添加这些HTML元素。但我不知道它是如何工作的,或者为什么它的#和^或更多关于这里发生了什么...

谢谢你的帮助。

我使用的是html + javascript代码。

4 个答案:

答案 0 :(得分:4)

它实际上不是jQuery模板(正如你的建议),但Mustache在这里使用。这种语法......

{{#Foo}}
...something
{{/Foo}}
{{^Foo}}
...something
{{/Foo}}

...用于涵盖两种情况:

  • Foo集合不为空时,它将使用{{#Foo}}正常部分的内部块进行模板化处理:
  • Foo集合为空时,将使用所谓inverted section的模板(在{{^Foo}}内设置):

文档中的示例:

{{#repo}}
  <b>{{name}}</b>
{{/repo}}
{{^repo}}
  No repos :(
{{/repo}}

它实际上非常有用:我们经常需要为“无项目”案例提供单独的模板。通常用{{#if... }} ... {{#else}}块之类的东西来完成,但这会在模板中注入逻辑。 Mustache提供了一种替代方案 - 我可以说 - 非常优雅 - 接近这一点。

答案 1 :(得分:1)

答案 2 :(得分:0)

这看起来不像jQuery语法。

然而,这看起来像大多数模板引擎&#39;语法,例如underscore.jshandlebarstwig

答案 3 :(得分:0)

这既不是HTML也不是jQuery。模板引擎或其他脚本使用它来基于它们能够在文档的源代码中识别的代码来执行某些工作(例如,在您的情况下以双花括号开头和结尾)。