Я замечаю, что при использовании лямбда-выражений:
{
"name": "Willy",
"wrapped": function() {
return function(text) {
return "<b>" + render(text) + "</b>"
}
}
}
передается второй аргумент (в дополнение к text
). Этот второй аргумент является функцией:
function (template) {
return render(template, scope);
}
который возвращает html с учетом шаблона (с начальным входным объектом json).
Итак, если бы у меня была лямбда следующим образом:
"wrapped": function() {
return function(text, func) {
....
}
можно было бы ожидать, что func("<div>{{name}}</div>")
вернет html, представляющий div с содержимым, заполненным тем, что было в свойстве 'name' объекта данных json.
ОДНАКО, func("{{.}}")
НЕ работает. Я бы ожидал, что объект представляет исходный объект ввода.
Вместо этого я получаю STRING "[object Object]"
. Когда я пытаюсь использовать JSON.parse
, это дает мне ошибку «Неожиданный токен o».