无法将数据传送到 Node.js 中的车把模板
Can't delivery data to my handlebars template in Node.js
对于可能的情况,我遵循此解决方案:
这是我的代码:
app.get('/', (req, res) => {
Cost.aggregate([
{
$group: {
"_id": "$item",
"nameItem": {
$first: "$item"
},
"subtotal": {
$sum: "$price"
}
}
}, {
$project: {
"doc": {
"_id": "$_id",
"item": "$nameItem",
"total": "$subtotal"
}
}
}, {
$group: {
"_id": null,
"priceTotal": {
$sum: "$doc.total"
},
"result": {
$push: "$doc"
}
}
}, {
$project: {
"result": 1,
"_id": 0,
"priceTotal": 1
}
}
])
.exec(function(error, costs){
console.log('%j',costs);
var nameItem = nameItem;
var total = total;
res.render('index', {
costs: costs,
nameItem: nameItem,
total: total,
priceTotal: priceTotal
});
})
});
我得到了这个 console.log('%j', costs) 输出 =
[{
"priceTotal":450,
"result":[
{"_id":"1","item":"roller","total":100},
{"_id":"2","item":"brush","total":45},
{"_id":"3","item":"paint","total":45},
{"_id":"4","item":"glue","total":260}]
}]
这是我的模板,还没有显示任何内容:
<p>total price = {{priceTotal}}</p>
{{#costs}}
<p>{{nameItem}} = {{total}}</p>
{{/costs}}
我的问题是如何将每个“item”、“total”和“priceTotal”传送到我的 handlebars 模板?应该是这样
total price = 450
roller = 100
brush = 45
paint = 45
glue = 260
对于这个结果,你应该运行脚本中的这段代码来显示你的数据:
<div id="DocumentResults"></div>
<script id="document-template" type="text/x-handlebars-template">
<div>
{{#each this}}
<p>total price = {{priceTotal}}</p>
{{#result}}
<p>{{item}} = {{total}}</p>
{{/result}}
{{/each}}
</div>
</script>
对于可能的情况,我遵循此解决方案:
这是我的代码:
app.get('/', (req, res) => {
Cost.aggregate([
{
$group: {
"_id": "$item",
"nameItem": {
$first: "$item"
},
"subtotal": {
$sum: "$price"
}
}
}, {
$project: {
"doc": {
"_id": "$_id",
"item": "$nameItem",
"total": "$subtotal"
}
}
}, {
$group: {
"_id": null,
"priceTotal": {
$sum: "$doc.total"
},
"result": {
$push: "$doc"
}
}
}, {
$project: {
"result": 1,
"_id": 0,
"priceTotal": 1
}
}
])
.exec(function(error, costs){
console.log('%j',costs);
var nameItem = nameItem;
var total = total;
res.render('index', {
costs: costs,
nameItem: nameItem,
total: total,
priceTotal: priceTotal
});
})
});
我得到了这个 console.log('%j', costs) 输出 =
[{
"priceTotal":450,
"result":[
{"_id":"1","item":"roller","total":100},
{"_id":"2","item":"brush","total":45},
{"_id":"3","item":"paint","total":45},
{"_id":"4","item":"glue","total":260}]
}]
这是我的模板,还没有显示任何内容:
<p>total price = {{priceTotal}}</p>
{{#costs}}
<p>{{nameItem}} = {{total}}</p>
{{/costs}}
我的问题是如何将每个“item”、“total”和“priceTotal”传送到我的 handlebars 模板?应该是这样
total price = 450
roller = 100
brush = 45
paint = 45
glue = 260
对于这个结果,你应该运行脚本中的这段代码来显示你的数据:
<div id="DocumentResults"></div>
<script id="document-template" type="text/x-handlebars-template">
<div>
{{#each this}}
<p>total price = {{priceTotal}}</p>
{{#result}}
<p>{{item}} = {{total}}</p>
{{/result}}
{{/each}}
</div>
</script>