我的任务是使用 Mustache 模板引擎来渲染模板,同时研究如何使用它,我偶然发现了 lambda,但我仍然无法捕捉到
例如,在官方小胡子文档中提到用法是
Template:
{{#wrapped}}{{name}} is awesome.{{/wrapped}}
Hash:
{
"name": "Willy",
"wrapped": function(text) {
return "<b>" + text + "</b>"
}
}
Output:
<b> Willy is awesome.</b>
所以预期的输出是 Willy 很棒 但我在这里无法得到与我通过的相同的输出
{
"tId": "function",
"data": {
"name": "Vishnu",
"wrapped": "function(text) { return \"<b>\" + text + \"</b>\"; }",
}
}
尽管模板都是一样的,但除了标签之外,我只得到“Vishnu 太棒了”。我到底应该得到什么?粗体文本或带标签的文本
我在这里遗漏了什么吗? lambda 在此模板引擎中如何工作以及有何作用?
以类似的方式,同一文档中的其他示例不起作用
Template:
* {{time.hour}}
* {{today}}
Hash:
{
"year": 1970,
"month": 1,
"day": 1,
"time": function() {
return {
"hour": 0,
"minute": 0,
"second": 0
}
},
"today": function() {
return "{{year}}-{{month}}-{{day}}"
}
}
Output:
* 0
* 1970-1-1
我得到的输出是
function() {return ("{{year}}-{{month}}-{{day}}";)}
当我将 JSON 作为 \ "time": "function() { return {\"hour\": 0,\"minute\": 0, \"second\": 0} };", "today": "function() {return (\"{{year}}-{{month}}-{{day}}\";)}" \
传递时
参考文档:https://mustache.github.io/mustache.5.html
在一些文档中,例如这个https://www.c-sharpcorner.com/article/getting-started-with-mustache-js/提到了
Lambda 用于在将数据插入模板之前对其进行转换。 lambda 是一个接受字符串作为输入并返回字符串作为输出的函数。
这是什么意思?我想要一个简单的解释 我还需要了解如何在 JSON 中传递这个 lambda ? 非常感谢任何帮助
如果您使用 Java,则无法在 JavaScript 中定义标签。
这篇文章可以帮助您:https://www.baeldung.com/mustache