簡體   English   中英

將數字和變量連接為Jade的變量名

[英]Concatenate a number and a variable into a variable name for Jade

假設我有一組變量name1,name2,name3 ...等,這些變量我正在div中寫出。 現在,我可以使用#{name1}#{name2}#{name3}等將其打印出來,但是可以在Jade中使用for循環來實現

- for(var i = 0; i<3; i++) { div #{"name" + i} }

所以我希望輸出是:

div #{name1}
div #{name2}
div #{name3}

為了打印出前3個元素,類似的東西....希望我有道理。 當我按照上面的方法進行操作時,Jade似乎認為我只是將一個字符串放入div而不是變量中。 如果有問題,我正在為我的應用程序使用Express.JS。 ty

Jade似乎以為我只是在div中放一個字符串

因為你是!

當您說“ ...而不是變量 ”時,您真正的意思是對其值的引用 這是for循環擅長的。 但是"name" + i創建了一個字符串,並且變量未引用為字符串-一個重要的例外:對象屬性。

您有兩種選擇:

var names = [name1, name2, name3];
for (var i = 0; i < 3; i = i + 1) {
    div #{names[i]}
}

要么...

var names = {
    name1: name1,
    name2: name2,
    name3: name3
};
for (var k in names) {
    if (Object.prototype.hasOwnProperty.call(names, k)) {
        div #{names[k]}
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM