我想添加一个基于变量名称的模板。
像这样的东西:
include= templateName
我用 case/when 解决,比如 switch/case:
case myvar
when 0
include mytemplate0
when 1
include mytemplate1
....
default
p Select option
这在 Jade 中不起作用是有充分理由的。Jade 将模板编译成 Javascript,然后执行 Javascript 生成 HTML。必须在编译阶段处理包含,但直到稍后才会评估 Javascript 表达式。因此,Jade 目前不可能提供变量包含。
carlituxman 的解决方案之所以有效,是因为它在生成的 Javascript 中包含了所有需要的包含文件,但仅限于包含您提前知道的文件。