比如jsp…我在controller有个list传过来…想输出到js里面…供页面js调用…我可以这么写
<script>
var aList = {};
<% for obj in list {%>//<--此处用了jsp循环的伪代码
aList[<%=obj.id%>] = '<%=obj.name%>';
<%}%>
</script>
好吧…你看…jade能怎么写啊
看jade的文档:
根据文档上下文…script标签里面的全是text…不会去给你解析标签的 即使你写 - each xx in xxx…
7 回复
我的解决思路是先把那个 list 转成 json,然后把 json 字符串塞进前端的 js 里,不知道能不能解决楼主的疑问。
jade:
script
var raw = JSON.parse('!{list}'); // 用 json 字符串做中介
console.log(raw);
var aList = {};
for (i in raw) {
console.log(i);
aList[raw[i].id] = raw[i].name;
}
console.log(aList);
express:
exports.index = function(req, res){
// res.render('index', { title: 'Express' })
res.render('test', {
title: 'Express',
list: JSON.stringify([
{id:1, name:'a'},
{id:2, name:'b'},
{id:3, name:'c'}
])
});
}