我注意到使用lambdas时:
{
"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数据对象的'name'属性中的任何内容。
然而,func("{{.}}")
不起作用。
我希望对象代表初始输入对象。
相反,我得到了STRING "[object Object]"
。当我尝试使用JSON.parse
时,它会给我一个'意外的令牌o'错误。
答案 0 :(得分:1)
您尝试解析为JSON的代码实际上不是JSON。它只是一个JavaScript对象文字。因此,当您尝试将{{.}}
放入模板时,您正确地获得[object Object]
,因为这是对象的字符串表示形式。