【问题标题】:Passing variables through Jade templates通过 Jade 模板传递变量
【发布时间】:2013-11-04 12:05:32
【问题描述】:

在 Jade 中可以将变量从一个模板传递到另一个模板吗? 我想做这样的事情:

tmp1.jade

div.anyClass
  include components/checkbox('someLabel')

tmp2.jade

div.otherClass
  div.label
    {someLabel}

谢谢!

【问题讨论】:

    标签: pug


    【解决方案1】:

    包含的模板继承了包含它们的模板的变量范围,因此您所追求的将自动为您发生。

    所以以下将起作用:

    tmp1.jade

    - var label = 'value'
    div.anyClass
        include tmp2
    

    tmp2.jade

    div.otherClass
        div.label
            #{label}
    

    你也可以使用mixins来传递变量,它们就像函数(你先定义它们,然后调用它们)

    因此您可以执行以下操作:

    tmp1.jade

    mixin labeldiv(myLabel)
        div.otherClass
            div.label
                #{myLabel}
    
    div.anyClass
        +labelDiv("the label")
    

    值得一提的是,如果您希望它们在多个模板中通用,您也可以将 mixins 放入包含中。你可以这样做:

    myMixins.jade

    mixin labeldiv(myLabel)
        div.otherClass
            div.label
                #{myLabel}
    

    tmp1.jade

    include myMixins
    div.anyClass
        +labelDiv("the label")
    

    Jade Syntax Docs 提供了一些很好的(现场)示例来说明这一切是如何工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-18
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 2014-12-16
      • 2017-12-13
      • 1970-01-01
      相关资源
      最近更新 更多