问题描述
<input class="autocomplete" paramValue={{param_value}} aria-token-json = "{{{JSON.strigify(user_role_field)}}}">
这里 user_role_field 有数组值,但我想对其进行字符串化。此输入字段在 Mustache JS 中。输入字段是 TokenInput Js 包,aria-token-json
接受 Stringify 值。
我应用的语法不起作用..有人可以帮忙吗?
解决方法
Moustache 没有允许你调用任意 JS 的功能。
您可以使用 the Lambda feature...
传递函数Lambdas
当值是可调用对象时,例如函数或 lambda, 对象将被调用并传递文本块。文字通过了 是文字块,未渲染。 {{tags}} 不会被展开
- lambda 应该自己做。通过这种方式,您可以实现过滤器或缓存。
模板:
{{#wrapped}}
{{name}} is awesome.
{{/wrapped}}
哈希:
{
"name": "Willy","wrapped": function() {
return function(text,render) {
return "<b>" + render(text) + "</b>"
}
}
}
输出:
<b>Willy is awesome.</b>
但这看起来像是您应该将 user_role_field
转换为 JSON 之前 将它传递给 Moustache。
(因为 JSON 不是 HTML,所以在包含它时使用 {{
和 }}
而不是用于将原始 HTML 源代码转储到文档中的三重大括号。)