如何在 nodeJs expressJs 的车把中使用 json
How to use json in handlebars with nodeJs expressJs
我在 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: Unexpected token u in JSON at position 0
然而,它正在处理静态数据
{{#List '[
{
"id": 1,
"title": "Arrange meeting",
"date": "Today 10:35 | By Admin",
"completed": true
},
]' }}
{{> widgets/toDoList}}
{{/List}}
因为你是 data
return undefined
在此处查看更多信息 [ uncaught syntaxerror unexpected token U JSON ]
JSON.parse接受一个字符串,但是你传给他一个数组
我非常确定,这不是自定义助手的问题,而是您向其传递数据的方式。
如果你用的是快递,那就是res.render('view-name', data)
我在 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: Unexpected token u in JSON at position 0
然而,它正在处理静态数据
{{#List '[
{
"id": 1,
"title": "Arrange meeting",
"date": "Today 10:35 | By Admin",
"completed": true
},
]' }}
{{> widgets/toDoList}}
{{/List}}
因为你是 data
return undefined
在此处查看更多信息 [ uncaught syntaxerror unexpected token U JSON ]
JSON.parse接受一个字符串,但是你传给他一个数组
我非常确定,这不是自定义助手的问题,而是您向其传递数据的方式。
如果你用的是快递,那就是res.render('view-name', data)