我一直在努力让一个lambda与mustache.js demo一起工作。几乎所有在线演示lambdas的例子都是通过声明json与js内联来实现的。 我尝试了以下JSON:
{
"planet": "The be the name",
"lambda": "function() {return \"{{planet}}\"}"
}
带有以下胡须:
{{lambda}}
..没有成功。有没有办法使用胡子演示页来演示lambdas?
我感谢任何帮助。
答案 0 :(得分:1)
看起来示例页面上不支持lambda,即使它们正常使用库也是如此。可能是疏忽,但我可能是错的。
答案 1 :(得分:1)
一个没有。将lambda表示为JSON是不可能的。你的例子只是两个字符串,如果你eval()
,其中一个恰好是一个函数。这可行:
{
"planet": "World",
"lambda": function() { return "{{planet}}" }
}
...除了它是无效的JSON所以它不会:(
答案 2 :(得分:1)
我在我的js代码中声明了我的lambda。在我从服务器获取JSON并将其放入myVar
之后,我会在调用Mustache.render
之前执行以下操作:
myVar.myLambda = function(text,render) {
return '<b>'+render(text)+'<b>';
}
render
呈现在括号中传递的mustache变量,这是lambda函数的text
参数,你应该在HTML中传递它:
<div class="blah"><p>The planet is: {{#myLambda}}{{planet}}{{/myLambda}}</p></div>