2013-04-28 117 views
4

我想添加一个基于变量名称的模板。Jade包含基于变量的模板

类似的东西:

include= templateName

+0

[在Jade中使用变量包含]的可能的重复(http://stackoverflow.com/questions/12132978/use-a-variable-in-a-jade-include) – Pickels 2013-04-28 14:22:37

+2

这在模板中是不可能的语法,因为模板在他们甚至不知道你传递给他们的数据之前被编译。 – Pickels 2013-04-28 14:23:09

+0

好的谢谢,我会用if/else然后... – Charles 2013-04-28 16:50:31

回答

1

我情况/解决时,如开关/箱:

case myvar 
    when 0 
     include mytemplate0 
    when 1 
     include mytemplate1 
    .... 
    default 
     p Select option 
0

有一个很好的理由,这并不在翡翠工作。 Jade将模板编译成Javascript,然后执行Javascript来生成HTML。包含必须在编译阶段进行处理,但JavaScript表达式在稍后才会被评估。因此,Jade目前不可能提供变量包含。

carlituxman的解决方案是可行的,因为它包含了生成的Javascript中所有需要的包含文件,但它仅限于包含提前知道的文件。