2013-04-28 133 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中所有需要的包含文件,但它僅限於包含提前知道的文件。