NodeJS 我在使用express handler渲染每个循环中的数据时遇到问题

iugsix8n  于 2023-01-16  发布在  Node.js
关注(0)|答案(1)|浏览(135)

我在一个视图中渲染一个带有快捷句柄的表,我设置了Each循环,它从我的SQL数据库中正确地获取了数据。关键是,当渲染来自id ="import"的标记的数据时,在脚本中传递它并返回乘以变量"dolarblue"的值的数量,它只对第一项正确地进行了渲染,然后其余的都是空白:

{{#each servicios}}
                        <tr>
                            <td>{{servicioID}}</td>
                            <td>{{descripcion}}</td>
                            <td><div class="form-check">
                                <input class="form-check-input" type="checkbox" value="" id="check-{{servicioID}}">
                                <label class="form-check-label" for="check-{{servicioID}}">
                                </label>
                                </div></td>
                            <td id="importe{{servicioID}}"></td>
                            <td id="total"></td>
                        </tr>
                        {{!-- Cotización dolar --}}
                        <script language="JavaScript" type="text/javascript" >
                        var importe = {{preciousd}}
                        var url = 'https://api.bluelytics.com.ar/v2/latest';
                        var data_json = get_data(url);
                        let dolarblue = data_json.blue.value_buy
                        document.getElementById("importe{{servicioID}}").innerHTML = {{preciousd}} * dolarblue;
                        </script>  
                        {{/each}}

这是我的表如何呈现:
| 编号|塞尔维西奥|字体真棒|因波特|共计|
| - ------|- ------|- ------|- ------|- ------|
| 1个|网络响应(Inicio +3节)|复选框|小行星89750||
| 第二章|田达自绘|复选框|||
有人知道原因吗?谢谢!
我想修复我的代码呈现所有完整的数据集。

yeotifhr

yeotifhr1#

在问完这个问题后,我能够解决这个问题。在第二个问题中,脚本使用了相同的变量名,并生成了一个错误。我将属性{{serviceID}}放入脚本的变量中,以符合名称,现在它正确运行了它。我不认为这是最有效的解决方案。但它对我很有效。

<script language="JavaScript" type="text/javascript" >
                        var url{{servicioID}} = 'https://api.bluelytics.com.ar/v2/latest';
                        var data_json{{servicioID}} = get_data(url{{servicioID}});
                        let dolarblue{{servicioID}} = data_json{{servicioID}}.blue.value_sell
                        var importe = {{preciousd}}
                        document.getElementById("importe{{servicioID}}").innerHTML = {{preciousd}} * dolarblue{{servicioID}};
                        </script>

相关问题