12

我是使用 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"

4

5 回答 5

12

有时它不能很好地工作——就像contentEditableJade 尝试检测 html5 文档类型,然后<header itemscope itemtype="http://schema.org/WPHeader"></header>如果找到它就会这样做。问题是,如果您有要在页面中插入的模板,它无法判断它是 html5。

您可以做的是通过传递{doctype: '5'}给选项来强制 html5 编译 - 为 require-jade 执行此操作:https ://github.com/ibash/require-jade/commit/754cba2dce7574b400f75a05172ec97465a8a5eb

于 2012-08-22T18:18:43.273 回答
10

使用角度 ng-include 指令时我遇到了同样的问题。它得到 ng-include="ng-include" 然后包含不起作用。

它对我有用的是使用空字符串作为值,即 ng-include=""。

于 2014-08-01T23:26:11.570 回答
8

这是玉开发人员的回答:你应该使用

  doctype html

在模板中。

https://github.com/pugjs/jade/issues/370

于 2015-12-14T11:31:04.157 回答
6

我刚刚在 Express.js/Jade 项目中尝试过,得到的结果是:

<header itemscope itemtype="http://schema.org/WPHeader"></header>

我也在 bash 中尝试过,然后我得到了和你一样的结果。

我会接受以下建议或在 Github 上创建问题。

itemscope="itemscope" 和 itemscope 一样有效。看起来这是 Jade 的默认行为。我就随它去吧。

于 2012-06-14T18:34:19.810 回答
1

我遇到了同样的问题,在我的案例中,最简单的解决方案是在doctype 5我的玉文件顶部添加。这显然允许 Jade 使用没有值的属性。ibash 用他的回答让我走上了正确的轨道,所以谢谢你

于 2013-10-18T08:11:34.553 回答