我正在使用Sequelize和服务器端的一个lodash模板(NodeJS)来生成发票。在每次循环之后,我有一个[对象SequelizeInstance]出现在我的html表格上方。
compiled = _.template("
<div class='row' style='padding: 20px 0px 0px 0px;'>
<div class='col-lg-12 col-md-12 col-sm-12'>
<div class='table-responsive'>
<table border='1' style='width: 100%;'>
<thead>
<tr>
<th>Réf Produit.</th>
<th>Désignation</th>
<th>Quantité</th>
<th>Prix Unitaire</th>
<th>Sous Total</th>
</tr>
</thead>
<tbody>
<% datas = []%>
<% _.forEach(order.OrderedProducts, function(value, key) {%>
<%- datas[key] = value %>
<tr>
<td style='padding: 0px 0px 0px 4px;'><%- datas[key].Product.id %></td>
<td style='padding: 0px 0px 0px 4px;'><%- datas[key].Product.name %></td>
<td style='padding: 0px 0px 0px 4px;'><%- datas[key].quantity %></td>
<td style='padding: 0px 0px 0px 4px;'><%- datas[key].Product.price %> €</td>
<td style='padding: 0px 0px 0px 4px;'><%- datas[key].Product.price * datas[key].quantity %> €</td>
<% }); %>
</tr>
</tbody>
</table>
</div>
<hr>
<div class='row'>
<div style='float: right;' class='col-md-3'>
<div class='ttl-amts'>
<h5> Sous Total : <%= Math.round((order.total_cmd - ((order.total_cmd * 20) / 100)) * 100) / 100 %> €</h5>
</div>
<hr>
<div class='ttl-amts'>
<h5> TVA : 20%</h5>
</div>
<hr>
<div style='padding: 0px 0px 20px 0px;' class='ttl-amts'>
<h4><strong>Montant Total : <%= order.total_cmd %> €</strong></h4>
</div>
</div>
</div>
你可以帮我解决这个问题吗?感谢
答案 0 :(得分:0)
我认为你应该改变这一行:
<%- datas[key] = value %>
为:
<% datas[key] = value %>
在那里有额外的短划线,你告诉它回显数据[key]中的值,转换为[object SequelizeInstance]。
我还想指出,在forEach循环内的任何地方,你可以用数字替换数据[key],然后完全摆脱我提到的那条线。