如何填充哈巴狗的下拉菜单
How to populate a dropdown in pug
从 handlebars 切换到 pug 我不知道如何在 pug 中填充下拉菜单。在车把上我可以做到
<script type='text/javascript'>
$('.ui.dropdown').dropdown('set selected', [{{#each trip.tags}}'{{this}}',{{/each}}]);
</script>
有人知道哈巴狗的最佳做法是什么吗?
您似乎在尝试生成 JavaScript 值作为模板呈现的一部分。如果 this
没有正确转义,您在降价中采用的方法可能会导致 XSS 攻击(或者它可能只会导致像 "
这样的值显示为 "
)。
在 pug 中,当您需要在脚本中嵌入模板值时,我们建议使用 js-stringify。为此,您需要使用 npm 安装 js-stringify
。然后你需要将它包含在你的本地人中。例如
pug.renderFile('my-template.pug', {stringify: require('js-stringify')});
然后您可以将其用作:
script(type='text/javascript').
$('.ui.dropdown').dropdown('set selected', !{stringify(trip.tags)});
N.B。使用 !{...}
语法是唯一安全的,因为 js-stringify
在渲染之前正确地转义了值。
从 handlebars 切换到 pug 我不知道如何在 pug 中填充下拉菜单。在车把上我可以做到
<script type='text/javascript'>
$('.ui.dropdown').dropdown('set selected', [{{#each trip.tags}}'{{this}}',{{/each}}]);
</script>
有人知道哈巴狗的最佳做法是什么吗?
您似乎在尝试生成 JavaScript 值作为模板呈现的一部分。如果 this
没有正确转义,您在降价中采用的方法可能会导致 XSS 攻击(或者它可能只会导致像 "
这样的值显示为 "
)。
在 pug 中,当您需要在脚本中嵌入模板值时,我们建议使用 js-stringify。为此,您需要使用 npm 安装 js-stringify
。然后你需要将它包含在你的本地人中。例如
pug.renderFile('my-template.pug', {stringify: require('js-stringify')});
然后您可以将其用作:
script(type='text/javascript').
$('.ui.dropdown').dropdown('set selected', !{stringify(trip.tags)});
N.B。使用 !{...}
语法是唯一安全的,因为 js-stringify
在渲染之前正确地转义了值。