Mustache JS 表单字段中 Stringify 的语法是什么

问题描述

 <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 源代码转储到文档中的三重大括号。)