0

我注意到在使用 lambda 时:

{
  "name": "Willy",
  "wrapped": function() {
    return function(text) {
      return "<b>" + render(text) + "</b>"
    }
  }
}

传入第二个参数(除了text)。第二个参数是一个函数:

function (template) {
    return render(template, scope);
}

它返回 html,给定一个模板(带有初始输入 json 对象)。

所以,如果我有如下的 lambda:

"wrapped": function() {
  return function(text, func) {
    ....
}

有人会期望 func("<div>{{name}}</div>")返回代表 div 的 html,其中的内容填充了 json 数据对象的“名称”属性中的任何内容。

但是,func("{{.}}")不起作用。我希望该对象代表初始输入对象。

相反,我得到了 STRING "[object Object]"。当我尝试使用JSON.parse它时,它会给我一个“Unexpected token o”错误。

4

1 回答 1

1

您尝试解析为 JSON 的代码实际上不是 JSON。它只是一个 JavaScript 对象字面量。因此,当您尝试将其{{.}}放入模板中时,您得到了正确的结果,[object Object]因为那是对象的字符串表示形式。

于 2012-05-12T02:39:32.653 回答