我有一个名为“list.json”的文件,设置如下:
{
"thing1": "Thing1",
"thing2": "Thing2",
"thing3": "Thing3"
}
我怎样才能循环这个?我想做类似的事情:
{% for item in list%}
<option>{{ thing }}</option>
{% endfor %}
我有一个名为“list.json”的文件,设置如下:
{
"thing1": "Thing1",
"thing2": "Thing2",
"thing3": "Thing3"
}
我怎样才能循环这个?我想做类似的事情:
{% for item in list%}
<option>{{ thing }}</option>
{% endfor %}
您可以尝试以下
{% for key, item in list%}
<option>{{ item }}</option>
{% endfor %}
您是否已导入 JSON?如果没有,在渲染 JS 中,添加一个变量:
list: JSON.parse(fs.readFileSync('list.json'))
如果您多次使用它,请在文件顶部添加一个变量。
var LIST = JSON.parse(fs.readFileSync('list.json'))
也可以使用异步方法,但需要一些嵌套:
fs.readFile('list.json', function(err, list) {
env.render('template.html', {
list: list,
//other data
}
}
您应该首先在后端创建一个对象数组:
var things = [];
things.push({id : 'thing1', name : 'Thing1'});
things.push({id : 'thing2', name : 'Thing2'});
things.push({id : 'thing3', name : 'Thing3'});
现在在前端,您可以像下面这样循环遍历这个数组:
{% for thing in things %}
<option value="{{ thing.id }}"> {{ thing.name }}</option>
{% endfor %}
我希望这会帮助你。