Jade包含不起作用(在扩展模板上)

时间:2016-02-08 10:53:15

标签: node.js templates pug

简单问题: 我正在开始一个新的小项目,我有1个变量玉文件,1个jade文件用于布局,1个jade文件用于mixins,最后1个文件用于模板。

当我尝试使用外部文件中导入的变量时,它们不会被加载到模板中,而mixin会这样做。

当处理page1.jade时,正确导入mixins,正确扩展布局,但不会导入styles.jade中的变量(或看起来似乎),因为mixins无法到达变量 styleCenterMain 分配给样式属性。)

page1.jade:

include mixins.jade
include styles.jade
extends layout.jade

block append wholeContent   

block append wholeContent
    div.test1 Hi world

block append wholeContent
    div.test2 Hi Again

block append wholeContent   
    +moduleMain()
        p Some content to pass to mixin

mixins.jade:(这是获取错误的地方。)

mixin moduleMain()
  table(style=styleCenterMain width="100%" height="100%")          

style.jade。

- styleCenterMain ="margin-left: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-bottom: 0; padding-top: 0; padding-right: 0; padding-left: 0; vertical-align: top;"

layout.jade(xml文件):

<?xml version="1.0"?>
doctype html

    head        

    body
        <!-- main content -->   

        div(style="background-color:#f2f4f5; margin:0 auto;")
            block wholeContent              

任何人都可以提示为什么没有导入style.jade或为什么mixin不能访问它的变量?

事先非常感谢

1 个答案:

答案 0 :(得分:1)

首先,您要包含样式并命名 style 我会检查它。

Mixins是一个很好的方式,你可以将变量传递给包含的脚本,但是他们必须接收它,它们有自己的范围!

如果您修复了导入名称并执行此操作,则应解决该问题:

<强> mixins.jade

mixin moduleMain(desiredStyle)
  table(style=desiredStyle width="100%" height="100%")  

<强> page1.jade

....
block append wholeContent   
+moduleMain(styleCenterMain)
    p Some content to pass to mixin