Javascript 如何在带有nodeJs expressJs的把手中使用json
我在dataList变量中有一个JSON数据,我想在CustomHandleBars helper中添加它作为参数Javascript 如何在带有nodeJs expressJs的把手中使用json,javascript,json,node.js,express,handlebars.js,Javascript,Json,Node.js,Express,Handlebars.js,我在dataList变量中有一个JSON数据,我想在CustomHandleBars helper中添加它作为参数 var dataList = [ { "id": 1, "title": "Arrange meeting", "date": "Today 10:35 | By Admin", "completed": true }, ]; 车把自定义辅助工具 var Handlebar = require('handlebars'); Handleba
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:JSON中位于位置0的意外标记u
然而,它正在处理静态数据
{{#List '[
{
"id": 1,
"title": "Arrange meeting",
"date": "Today 10:35 | By Admin",
"completed": true
},
]' }}
{{> widgets/toDoList}}
{{/List}}
这是因为您的
数据
返回未定义
有关更多信息,请参见这里[]JSON.parse接受字符串,但您向他传递一个数组我非常确定,这不是自定义助手的问题,而是您向其传递数据的方式
如果您使用的是express,它就像
res.render('view-name',data)
JSON数据列表已经定义,但仍然没有得到实际问题。Handlebar.registerHelper('List',function(data,options){//console.log(data)//返回未定义的返回选项。fn(JSON.parse(data));}代码>在这段代码中,您已经解析成json,但是由于未定义的数据,您得到了这个错误。好的!!那么你能解释一下如何定义dataList吗??在{{{List dataList}{{>widgets/toDoList}{{{/List}}中,你玩过把手吗????这里是那个(视频)的教程[@JigneshSanghani,为什么你把这个问题作为刚刚重新定义的答案?OP告诉我们数据是未定义的
,因此出现了错误。请帮助确定为什么会出现未定义的
。!!当我在{{这里列出完整的json代码}中添加完整的json代码时使用单引号就可以完美地工作了
您能解释一下吗?或者最好在问题中添加用例,如果working@RaghavGargQus.updated。感谢您的更新,我非常确定,这不是自定义帮助程序的问题,而是您将数据传递给它的方式。请同时显示您调用此视图的位置。!!如果是使用express,它就像res.render('view-name',data)
。谢谢!!@RaghavGarg它可以工作