我看到了这个,
chunk = chunk.write("<li>").render(bodies.block, context.push(items[i])).write("</li>\n");
在看到这段代码之前,我认为render
类似于flush
,并且write
类似于“写入缓冲区”,自然会导致如下代码。
for loop
chunk.write("something")
end for loop
chunck.render();
但是,正如您在第一个代码中看到的那样,render 出现在写入之间。有人可以解释这两个功能之间的区别。
@贾罗:
阅读您的答案后,我尝试了以下代码:
模板: You have {render} {write}
数据:
{
"name": "Mick",
"render": function(c,ct,b){
chunk.render("Rendered {~n}");
},
write:function(c,ct,b){
chunk.write("Written {~n}")
}
}
预期输出:
you have Rendered
Written {~n}
请注意{~n}
单词“Rendered”之后的解释,但“Written”之后的 {~n} 不被解释。
但实际输出与预期输出不同。你能发布一个jsfiddle,这将有助于我理解。实际输出是一个空字符串,这也表明代码中可能存在错误。