尝试使用hbs视图包打印存储在前端NodeJS服务器上的列表中的数据。使用Express和hbs。
这就是代码在服务器上的样子:
app.get("/", function(request, response){
response.render("index", {list: list});
});
在前端:
{{{body}}}
{{#each list}}
<p>{{ x }}</p>
{{/each}}
数据存储如下:
[{ x:
{ type: 'uri',
value: 'http://example.org/hospital/Basildon_University_Hospital' },
name: { type: 'literal', value: 'Basildon_University_Hospital' },
city: { type: 'literal', value: 'Basildon' },
county: { type: 'literal', value: 'Essex' },
email: { type: 'literal', value: 'pals@btuh.nhs.uk' },
phone: { type: 'literal', value: '01268_524900' },
lat: { type: 'literal', value: '51.557685852050781' },
long: { type: 'literal', value: '0.45057165622711182' } }]
当尝试输出属性x时,我得到的全部是[object Object]
打印,对于数据中的任何其他属性也是如此。尝试使用list.x但我根本没有打印任何内容。
还存储其他数据,如:
[ { Concept:
{ type: 'uri',
value: 'http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat' } } ]
甚至不打印[object Object]
我可以做些什么来打印值并使用hbs访问对象和列表?
答案 0 :(得分:1)
不要忘记在服务器端添加以下内容
var Handlebars = require('hbs');
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
然后
app.get("/", function(request, response){
response.render("index", {list: list});
});
然后使用此
{{{body}}}
{{#each list}}
<p>{{ json x }}</p>
{{/each}}
工作示例 jsfiddle