如何在Jade中循环遍历JavaScript对象?
Node.js-Jade-socket.io-jQuery-JSON 在my index.jade中,我有以下代码,其中结果数据以JSON的形式来自后端:如何在Jade中循环遍历JavaScript对象?,javascript,jquery,json,node.js,pug,Javascript,Jquery,Json,Node.js,Pug,Node.js-Jade-socket.io-jQuery-JSON 在my index.jade中,我有以下代码,其中结果数据以JSON的形式来自后端: extends layout block content ul // more jade html here script. socket.on('results', function(results) { results.forEach(function(item){ name = item.name; $(
extends layout
block content
ul
// more jade html here
script.
socket.on('results', function(results) {
results.forEach(function(item){
name = item.name;
$('ul').append('<li>'+name+'</li>');
});
});
虽然我无法在我的块内容中编写最后一段代码,因为socket.on'results'尚未触发并抛出错误
有没有一种优雅的方式来写这篇文章?你也可以在客户端使用jade。看看jadeify: 这样,您就可以使用row.jade,例如,在每个套接字消息上附加一行:
var template = require('views/row.jade');
var $ul = $('ul');
socket.on('row', function(item) {
$uk.append(template(item));
});
然后调整套接字,使其一次发出一行。返回数据后,可以重新呈现布局。在初始渲染时,可以只渲染加载微调器或某种空状态。一旦数据出现,重新呈现并包含所有名称。添加一个大块html比多次添加小块html更有效。本质上,我的问题是:与其有一个又长又难看的append'name:'+name+'age:'+age+等等……我可以有一个appendtemplate,其中模板是保存在别处的一块单独的玉石吗?
var template = require('views/row.jade');
var $ul = $('ul');
socket.on('row', function(item) {
$uk.append(template(item));
});