Jade: атрибуты элементов без значения
Я новичок в использовании Jade - и это потрясающе до сих пор.
Но одно, что мне нужно, это элемент с свойством "itemscope":
<header itemscope itemtype="http://schema.org/WPHeader">
Обозначение My Jade:
header(itemscope, itemtype='http://schema.org/WPHeader')
Но результат:
<header itemscope="itemscope" itemtype="http://schema.org/WPHeader">
Как я могу убедиться, что получаю правильный результат - itemscope
вместо itemscope="itemscope"
?
Ответы
Ответ 1
Я просто попробовал его в проекте Express.js/Jade, и получилось:
<header itemscope itemtype="http://schema.org/WPHeader"></header>
Я также пробовал его в bash, а затем получаю тот же результат, что и вы.
Я бы предложил следующее предложение или создал проблему в Github.
itemscope = "itemscope" будет работать так же хорошо, как и просто itemscope. Похоже, это поведение Джейд по умолчанию. Я бы просто пошел с ним.
Ответ 2
Иногда это не работает совершенно правильно - например, с помощью contentEditable
Jade пытается обнаружить html5 doctypes, а затем <header itemscope itemtype="http://schema.org/WPHeader"></header>
, если он найдет его. Проблема в том, что если у вас есть шаблоны, которые вы вставляете на страницу, он не может сказать, что это html5.
Что вы можете сделать, это принудительная компиляция html5, передав опции {doctype: '5'}
в параметры - сделал это для require-jade: https://github.com/ibash/require-jade/commit/754cba2dce7574b400f75a05172ec97465a8a5eb
Ответ 3
У меня была та же проблема, с помощью директивы angular ng-include. Он получает ng-include = "ng-include", а затем include doesnt работает.
Для меня это означает использование пустой строки в качестве значения, т.е. ng-include = "".
Ответ 4
Вот ответ от разработчиков нефрита: вы должны использовать
doctype html
в шаблоне.
https://github.com/pugjs/jade/issues/370
Ответ 5
У меня была та же проблема, и самым легким решением в моем случае было добавление doctype 5
вверху моего нефритового документа. Это, по-видимому, позволяет Jade использовать атрибуты без значения.
ibash поставил меня на правильный путь с его ответом, поэтому спасибо за это