【发布时间】:2019-02-21 07:56:01
【问题描述】:
我在 dataList 变量中有一个 JSON 数据,我想将它作为参数添加到自定义车把助手中。
var dataList = [
{
"id": 1,
"title": "Arrange meeting",
"date": "Today 10:35 | By Admin",
"completed": true
},
];
车把自定义助手
var Handlebar = require('handlebars');
Handlebar.registerHelper('List', function(data, options){
//console.log(data) //returns undefined
return options.fn(JSON.parse(data)); // gives error
});
自定义助手渲染:
{{#List dataList}}
{{> widgets/toDoList}}
{{/List}}
产生错误
SyntaxError: 位置 0 处 JSON 中的意外标记 u
然而,它正在处理静态数据
{{#List '[
{
"id": 1,
"title": "Arrange meeting",
"date": "Today 10:35 | By Admin",
"completed": true
},
]' }}
{{> widgets/toDoList}}
{{/List}}
【问题讨论】:
-
When I have add full json code in {{#List full_json_code_here}} with single quotes then works perfectly你能解释一下吗?或者更好地在问题中添加用例,当它工作时 -
@RaghavGarg Qus。已更新。
-
感谢更新,我很确定,这不是自定义助手的问题,而是您将数据传递给它的方式。还请显示您在哪里调用此视图。!!如果您使用的是 express,则类似于
res.render('view-name', data)。 -
谢谢!! @RaghavGarg 它有效
标签: javascript json node.js express handlebars.js