我的模板中有以下代码,可在页面加载时提供所需的输出。
有没有办法让灰尘动态渲染页面,因为我使用套接字来更新数据
{#storylines}
<li>{text|bl|s} <span class="badge yellow">{@negidx}{.}{/negidx}</span></li>
{/storylines}
套接字IO代码:
socket.on('updatechat', function (username, data) {
$('#newstoryline').before(blurlines(data));
});
我尝试过简单地将<span class="badge yellow">{@negidx}{.}{/negidx}</span>
添加到数据末尾,但输出为{@negidx}{.}{/negidx}
- 有没有办法让dust.js呈现最新数据?或者我是否必须使用某种jQuery而不是{@negidx}{.}{/negidx}
?
答案 0 :(得分:1)
如果您在客户端渲染模板,这应该很容易。您的代码看起来像这样:
socket.on('updatechat', function (username, data) {
if (data) {
dust.render('storyline', data, function(err, output) {
if (output) {
$('#newstoryline').before(output);
}
});
}
});
这里发生了什么:
返回的数据应该是JSON。检查是否有东西已经退回。
if (data) {
使用dust
使用返回的数据呈现模板。
dust.render('storyline', data, function(err, output) {
检查output
:
if (output) {
将output
插入您的信息页。这通常使用innerHTML完成,但您可以使用任何适合您的方法。请记住,此时output
是一个字符串。
$('#newstoryline').before(output);