1

我已经尝试了大约一个小时来让 lambda 与 mustache.js演示一起工作。几乎所有演示 lambdas 的在线示例都是通过将 json 声明为与他们的 js 内联来实现的。
我尝试了以下 JSON:

{
  "planet": "The be the name",
  "lambda": "function() {return \"{{planet}}\"}"
}

留着以下小胡子:

{{lambda}} 

..没有成功。有没有办法使用 mustache 演示页面来演示 lambda?

我很感激任何帮助。

4

3 回答 3

1

看起来演示页面上不支持 lambda,即使它们可以正常使用该库。可能是疏忽,但我可能是错的。

于 2013-06-06T09:25:03.027 回答
1

一个没有。无法将 lambda 表示为 JSON。您的示例只是两个字符串,其中一个恰好是一个函数eval()。这会起作用:

{
    "planet": "World",
    "lambda": function() { return "{{planet}}" }
}

...除了它是无效的 JSON 所以它不会:(

于 2013-06-06T15:59:13.987 回答
1

我在我的 js 代码中声明了我的 lambda。在我从服务器捕获 JSON 并将其放入之后myVar,我在调用之前执行以下操作Mustache.render

myVar.myLambda = function(text,render) {
    return '<b>'+render(text)+'<b>';
}

render呈现在括号中传递的 mustache 变量,它是textlambda 函数的参数,您应该像这样在 HTML 中传递它:

<div class="blah"><p>The planet is: {{#myLambda}}{{planet}}{{/myLambda}}</p></div>
于 2015-04-16T10:19:49.590 回答