cocos2d-x lua-binding:cheetah模板引擎

112 阅读1分钟

如果你接触过ejs,那么就非常好掌握cheetah,无非是更换了一种写法。

cheetah官方手册,在快速开始部分的例子可以入门

templateDef = """
 <HTML>
 <HEAD><TITLE>$title</TITLE></HEAD>
 <BODY>
 $contents
## 单行注释
#* 多行注释*#
 </BODY>
</HTML>"""
nameSpace = {'title': 'Hello World Example', 'contents': 'Hello World!'}
t = Template(templateDef, searchList=[nameSpace])

输出结果

<HTML>
<HEAD><TITLE>Hello World Example</TITLE></HEAD>
<BODY>
Hello World!
</BODY>
</HTML>

总结

  • \$ \# 将作为字符输出
  • 变量 $varName,可以使用[]、{}包裹起来
$var
${var}
$var2.abc['def']('gh', $subplaceholder, 2)
${var2.abc['def']('gh', $subplaceholder, 2)}
  • 命令 #directive (注释、循环、条件、包含)
    • 本地变量 #set
    • 关键变量 #set global
    • 流程控制 {#if} … {#else} … {#else if} (aka {#elif}) … {#end if}
    • 循环 {#for} … {#end for}