我遇到了我正在處理的Node.js應用程序的客戶端代碼中的問題。
這個背後的想法是在套接字收到事件時立即更新瀏覽器。ClientJade - 麻煩執行jade.render()
這是在客戶端腳本塊:
script(src='/scripts/jadeTemplate.js')
script(src='/socket.io/socket.io.js')
script(type='text/javascript')
var socket = io.connect();
socket.on('obj', function(obj) {
var newsItem = document.createElement("item");
jade.render(newsItem, 'objTemplate', { object: obj });
$('#newsfeed').prepend(newsItem);
alert(obj);
});
當alert()
是jade.render()
之前放置,則會發出警報,但如果之後插入,它不執行(因此,我認爲這是一個問題與jade.render()
)。
這是objTemplate.jade,在第7行簡稱:
p #{object}
// That's it.
這是從app.js相關片段:
var server = dgram.createSocket('udp4');
server.bind(41234);
server.on('message', function(buf, rinfo) {
isOnline = true;
var message = buf.toString();
io.sockets.emit('obj', message);
});
UPDATE:
Here's a link至/public/scripts/jadeTemplate.js
,其中IMO太長的問題片段。
如果我需要提供更多的片段或文件,請告訴我。 :)
你能發表jadeTemplate.js嗎? – 2013-03-10 16:23:09
已添加。我覺得這個問題本身太長了,所以我連接了一個Pastebin粘貼,如果沒關係的話。 [也鏈接到這裏](http://pastebin.com/h8CwqFgD)。 – ChaoticWeg 2013-03-10 18:23:41