我正在查看一些包含此错误的pystache模板代码:
{{#image_size}}width="{{.}}"{{/image_size}}
看起来{{.}}
被image_size
的值取代。 pystache / mustache文档在哪里解释了这一点?我浏览了一下文档,但我发现的唯一一个是{{.}}
的pystache示例,但没有解释:
>>> parsed = pystache.parse(u"Hey {{#who}}{{.}}!{{/who}}")
pystache repository and documentation
mustache documentation
答案 0 :(得分:1)
这是“隐式迭代器”标签。它不在Mustache手册页中,因为它是规范的后续添加。对它的最佳描述可能是in the Mustache.php documentation:
Mustache提供了一个“隐式迭代器”来访问当前范围。它看起来像这样:{{。 }}
在section上下文中,隐式迭代器引用当前循环值:
......但即使这样也不完美:)
基本上,{{ . }}
总是指当前范围。大多数情况下,这意味着您正在迭代的列表中的当前元素(例如,使用字符串数组)。但是,在您的示例中,{{ image_size }}
不是列表,因此{{ . }}
只是引用该值。
将Mustache部分标记视为始终表示循环,并将其呈现为零,一次或多次,这取决于您的值是什么,一件事还是很多事情,这可能会有所帮助。从这个意义上讲,“当前循环元素”只是一个值,当你的section标签是真实但不是列表的时候。