如何在带有nodeJs expressJs的车把中使用json

时间:2018-09-17 11:41:43

标签: javascript json node.js express handlebars.js

我在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:JSON中位置0处的意外令牌u

鉴于此,它正在处理静态数据

{{#List '[
  {
    "id": 1,
    "title": "Arrange meeting",
    "date": "Today 10:35 | By Admin",
    "completed": true
  },
]' }} 
  {{> widgets/toDoList}}
{{/List}}

3 个答案:

答案 0 :(得分:1)

我非常确定,这不是自定义帮助程序的问题,而是您向其传递数据的方式。

如果您使用快递,那就好像firewall-cmd --permanent --new-service=jenkins firewall-cmd --permanent --service=jenkins --set-short="Jenkins Service Ports" firewall-cmd --permanent --service=jenkins --set-description="Jenkins service firewalld port exceptions" firewall-cmd --permanent --service=jenkins --add-port=8080/tcp firewall-cmd --permanent --add-service=jenkins firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload firewall-cmd --list-all

答案 1 :(得分:0)

这是因为您的data返回了undefined 在此处查看更多信息[uncaught syntaxerror unexpected token U JSON]

答案 2 :(得分:0)

JSON.parse接受一个字符串,但是您向他传递了一个数组