帕格 – 通过玉模板传递变量

玉可能会将变量从一个模板传递给另一个模板?
我想做这样的事情:

tmp1.jade

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

tmp2.jade

div.otherClass
  div.label
    {someLabel}

谢谢!

最佳答案
包含的模板继承了包含它们的模板的变量范围,所以你之后会自动发生。

所以下面的工作:

tmp1.jade

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

tmp2.jade

div.otherClass
    div.label
        #{label}

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

所以你可以执行以下操作:

tmp1.jade

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

div.anyClass
    +labelDiv("the label")

值得一提的是,如果你希望它们在多个模板中是共同的,你也可以将mixin放在里面。你可以这样做:

myMixins.jade

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

tmp1.jade

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

Jade Syntax Docs有一些伟大的(活)的例子,它们如何运作。

转载注明原文:帕格 – 通过玉模板传递变量 - 代码日志