假设我有一组变量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
答案 0 :(得分:0)
Jade似乎认为我只是将一个字符串放入div
因为你!
当您说&#34; ...而不是变量&#34;你真正的意思是对其价值的引用。这就是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]}
}
}