【问题标题】:Jade include template based on a variableJade 包含基于变量的模板
【发布时间】:2013-04-28 10:10:00
【问题描述】:

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

类似的东西:

include= templateName

【问题讨论】:

  • 这在模板语法中是不可能的,因为模板在知道你传递给它们的数据之前就已经编译好了。
  • 好的,谢谢,我将使用 if/else then...

标签: javascript node.js templates pug


【解决方案1】:

我用 case/when 来解决,比如 switch/case:

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

【讨论】:

    【解决方案2】:

    这在 Jade 中不起作用是有充分理由的。 Jade 将模板编译成 Javascript,然后执行 Javascript 生成 HTML。必须在编译阶段处理包含,但直到稍后才会评估 Javascript 表达式。因此,Jade 目前无法提供变量包含。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2017-12-13
      • 2015-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多