我是使用Jade的新手 - 到目前为止它非常棒。
但是,我需要做的一件事就是使用' itemscope'属性:
<header itemscope itemtype="http://schema.org/WPHeader">
我的玉符号是:
header(itemscope, itemtype='http://schema.org/WPHeader')
但结果是:
<header itemscope="itemscope" itemtype="http://schema.org/WPHeader">
如何确保我获得正确的结果 - itemscope
而不是itemscope="itemscope"
?
答案 0 :(得分:12)
有时它不能正常工作 - 就像contentEditable
Jade尝试检测html5文档类型一样,然后<header itemscope itemtype="http://schema.org/WPHeader"></header>
如果找到它。问题是,如果你有在页面中插入的模板,它就不能说它是html5。
您可以做的是通过将{doctype: '5'}
传递给选项来强制执行html5编译 - 为require-jade执行此操作:https://github.com/ibash/require-jade/commit/754cba2dce7574b400f75a05172ec97465a8a5eb
答案 1 :(得分:10)
使用angular ng-include指令时遇到了同样的问题。它获得ng-include =“ng-include”,然后包含无效。
它对我有用的是使用空字符串作为值,即ng-include =“”。
答案 2 :(得分:7)
答案 3 :(得分:6)
我刚刚在Express.js / Jade项目中尝试过,我得到的结果是:
<header itemscope itemtype="http://schema.org/WPHeader"></header>
我也在bash中尝试过,然后我得到与你相同的结果。
我会提出以下建议或在Github上创建一个问题。
itemscope =“itemscope”与itemcope一样有效。看起来这是Jade的默认行为。我跟它一起去。
答案 4 :(得分:1)
我遇到了同样的问题,在我的案例中最简单的解决方案是在我的玉文件顶部添加doctype 5
。这显然允许Jade使用没有值的属性。
ibash用他的回答让我走上正轨,所以谢谢你