2013-01-25 56 views
0

这编译,但如果我删除div在那里,它会引发错误。我正在使用codekit进行编译。我不在这里?为什么额外的div很重要?Jade mixin需要额外的元素

mixin ListItemDetail(labels,values) 
    .listItemSection 
     .listItemDetailWrap 
      .listItemDetail #{labels[0]} : 
      .listItemDetail  #{values[0]} 
     .listItemDetailWrap 
      .listItemDetail #{labels[1]} : 
      .listItemDetail  #{values[1]} 
     .listItemDetailWrap 
      .listItemDetail #{labels[2]} : 
      .listItemDetail  #{values[2]} 

mixin ListItem() 
    .listItem 
     .listItemSection 
      h2 48 barrels of Kansas Common by 00/00/0000 
      small Ellsworth County, Kasas, 38.4500° N 96.5333° W 

     mixin ListItemDetail(['Start Date', 'End Date', 'Pickup Deadline'], ['00/00/0000', '00/00/0000', '00/00/0000']) 
     mixin ListItemDetail(["Bulletin", "Grade", "Join Deadline"], ["Plains",  "Light Crude", "00/00/0000"]) 
     mixin ListItemDetail(["API",  "BS&W",  "Sulfur"],   ["48°",  "4%",   "0.1%"])   

     div  

这是如果最终div丢失发生在codekit日志中的错误:

/Applications/CodeKit.app/Contents/Resources/engines/jade/lib/runtime.js:173 
    throw err; 
     ^
Error: /Users/isaac/Radiant/DemandPoint/dpe-grails/web-app/jade/Elements/ListItem.jade:23 
    21|   mixin ListItemDetail(["API",  "BS&W",  "Sulfur"],   ["48°",  "4%",   "0.1%"])   
    22| 
    > 23|    

回答

1

您的代码工作正常,我。不过,在您的示例代码中,您并未使用mixin ListItem。也许一些缩进是错误的。您甚至可以简化您的代码并使用iteration

mixin ListItemDetail(labels,values) 
    each label,i in labels 
    .listItemSection 
     .listItemDetailWrap 
     .listItemDetail #{label} : 
     .listItemDetail  #{values[i]} 

mixin ListItem 
    .listItem 
    .listItemSection 
     h2 48 barrels of Kansas Common by 00/00/0000 
     small Ellsworth County, Kasas, 38.4500° N 96.5333° W 

    mixin ListItemDetail(['Start Date', 'End Date', 'Pickup Deadline'], ['00/00/0000', '00/00/0000', '00/00/0000']) 
    mixin ListItemDetail(["Bulletin", "Grade", "Join Deadline"], ["Plains",  "Light Crude", "00/00/0000"]) 
    mixin ListItemDetail(["API",  "BS&W",  "Sulfur"],   ["48°",  "4%",   "0.1%"]) 

mixin ListItem // use your mixin here 
+0

感谢您的简化+1!另一个文件正在消耗这个mixin,这就是为什么它不在那里。这也可能是我的玉版本的问题。使用代码包的缺点是,它的版本是静态的,我无法更新它。 – Fresheyeball

+0

关于你的答案的东西解决了它。我必须有一个流浪缩进或什么的。 – Fresheyeball