2012-06-13 121 views
12

我是使用Jade的新手 - 目前爲止它非常棒。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"

+1

itemscope =「itemscope」只會像itemscope一樣工作。看起來這就是Jade的默認行爲。我只是隨它而去。 – jwerre

回答

6

我只是試圖在一個Express.js /翡翠項目,結果我得到的是:

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

我也試過在bash,然後我得到了相同的結果你。

我會與以下建議或在Github上創建問題。

itemscope =「itemscope」只會像itemscope一樣工作。看起來這就是Jade的默認行爲。我只是隨它而去。

+0

謝謝。奇怪的是,結果是不同的。好的,會一起去。 –

+0

這仍然顯示在谷歌搜索。對我來說正確的解決方案是將屬性設置爲等於空字符串。 – HasFiveVowels

12

有時不工作很正確 - 就像contentEditable玉嘗試檢測HTML5文檔類型,然後做<header itemscope itemtype="http://schema.org/WPHeader"></header>,如果它發現它。問題是如果你有插入到頁面中的模板,它不能說明它是html5。

你可以做的是在{doctype: '5'}傳遞給選項力HTML5編輯 - 這樣做是爲了要求玉:https://github.com/ibash/require-jade/commit/754cba2dce7574b400f75a05172ec97465a8a5eb

+5

我認爲語法現在是'{doctype:'html'}' – Jay

1

我有同樣的問題,在我的情況下,最簡單的方法是在加入doctype 5我的玉文件的頂部。這顯然允許Jade使用沒有價值的屬性。 ibash讓我對他的回答正確的軌道,所以謝謝你

+2

編譯器說:doctype 5已被棄用,請使用html代替。因此,我只是在html(lang = en)之前編寫doctype html。僅供參考。 – ankakusu

10

我有使用角ng-include指令相同的問題。它得到ng-include =「ng-include」,然後include不起作用。

它對我的作用是使用空字符串作爲值,即ng-include =「」。

+1

是的,我一直在花一些時間嘗試讓玉器一起玩,但它絕對不是用角度來書寫 – ditoslav

6

這裏是玉開發商的回答:你應該在模板中使用

doctype html 

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

+1

這個評論應該放在每個「玉器模板」的頂部。之後,我們不需要爲屬性指定'空白字符串'值。 'doctype html'和下一行'div#core(ui-view controller =「CoreCtrl」)''。請注意代碼中的'ui-view'。謝謝@alehro – Akash

+0

是的,就是這樣。 – taylorpalmer