[英]In Pug Interpolation, what's the real difference between using buffered code and using #{..}?
[英]What is the difference between buffered and unbuffered code?
“无缓冲”表示代码已执行,但结果未发送到输出缓冲区。
“Buffered” 也意味着代码被执行,结果被发送到输出缓冲区。
例如,这个玉:
.unbuffered
- 'unbuffered vs buffered'
.buffered
= 'unbuffered vs buffered'
生成此HTML:
<div class="unbuffered">
</div>
<div class="buffered">unbuffered vs buffered
</div>
我邀请你来看看matty的答案。
根据我在您分享的文档链接中的理解,我会说有一个主要区别:
读取时不执行未缓冲的代码,但是延迟(看起来像javascript),这意味着字符串是后处理的。
看起来他们将字符串映射到内部例程,即混合js +模板语言。
另一方面, 缓冲代码作为javascript执行(首先它被预处理以逃避html)。 虽然它根据你放在那里的代码似乎有不同的行为。
例如,据说:
p='Test' + ' concatenation'
将导致Test concatenation
但现在,你可以这样做:
p=(function() { return 'Does this really work ?! It seems so'; }())
这将导致Does this really work ?! It seems so
Does this really work ?! It seems so
。
它只是简化了你的代码并逃脱了html。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.