玉用我稱之爲「隱枚舉法」 - 它列舉列表中的數值簡單地通過增加多一個變量,i
,比有值解壓:for item, i in list_like
(對於類型的字典,你可以做for key, val in dict_like
)
下面顯示的是使用元組拆包和「隱枚舉」,一起PyJade測試2.0.2
- var selected_index = 0
- var tabs = [('hello', '/world'), ('citizens', '/please/respect_your_mother'), ('thank_you', '/bye')]
ul
// unpack `tabs` and tack on the variable `i` to hold the current idx
for label, link, i in tabs
li(class="selected" if (i == selected_index) else "")
a(href="#{link}") #{label}
注意您的例子:如「標準」翡翠代碼更常見,截至記者發稿,PyJade做不是支持三元運算符分配。 (variable= (condition)? value_if_true : value_if_false
)
綜觀[的文檔的pyjade](https://github.com/SyrusAkbary/pyjade),我沒有看到一個Python可以直接嵌入的例子......因爲pyjade似乎主要作爲某種包裝器或解析器來處理Jade Template Syntax 。是否可以嘗試使用'for'或'each'循環[如Jade文檔中所述](http://naltatis.github.com/jade-syntax-docs/#for)? – summea
哦!來自scalade,我認爲pyjade允許你嵌入python代碼,因爲scalade允許你嵌入scala代碼。 Pyjade實際上是否支持任意的javascript表達式?或者它只挑出了一些轉換成Python模板等效? –
查看[pyjade文檔中的一個示例](https://github.com/SyrusAkbary/pyjade#example),看起來您可以將JavaScript嵌入[通常的Jade模板語法方式](http:// jade -lang.com/);在這種情況下,我認爲你不必擔心JavaScript的Python方面。 – summea