Javascript 和动态 Django Rest 框架条目

标签 javascript

我正在开发一款应用程序,该应用程序允许用户根据其条目计算有关交易的信息。我一直在根据页面已经检索到任何现有条目后添加的条目来正确计算交易金额。

<td scope="col">${sumTotal('amount')}</td>
<script>
    ...
        mounted() {
            this.trade_id = window.location.pathname.split("/")[3];
            // Get entries of trade
            axios
                .get('/trade/' + window.location.pathname.split("/")[3] + '/entries/')
                .then(response => (this.entries = response.data));
        },
    ...
        methods: {
            sumTotal(base) {
                return Math.round(this.entries.reduce((sum, cur) => sum + cur[base], 0));
            }
</script>

当页面首次加载并提取现有条目时,第一个计算(第一列)是正确的,为 16。但是,当我添加新条目时,自动计算的值不再为 true。

enter image description here

第一列应该是 26,但现在是 1610

enter image description here

<小时/>

我可以根据需要添加更多信息。我不确定需要多少资金,而且我不想让问题变得困惑。

最佳答案

这发生在 JS 端,

这是因为您要将数字值与字符串值相加,结果将是两个值连接在一个新字符串中。

如果你注意到了

之前的总和为 16,新值为 10 它们的串联将为 1610

解决方案就像将新值从字符串转换为数值一样简单

您应该将 sumTotal 中的行更改为:

return Math.round(this.entries.reduce((sum, cur) => sum + parseInt(cur[base]), 0));

关于Javascript 和动态 Django Rest 框架条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59731916/

相关文章:

javascript - 使用 Javascript 垂直居中 div(可变高度)

javascript - 提示不工作

javascript - 输入[文本]默认小写,但可以转换为大写

javascript - fetch() 对 Express.js 的 POST 请求生成空正文 {}

javascript - 只有第一个按钮对单击事件使用react

javascript - 隐藏/显示边框时保持文本输入的固定位置

javascript - 无法在 IE 中比较 Jquery ajax 对象

javascript - addEventListener 不通过 getElementsByClassName 处理多元素

javascript - 将正则表达式与 Javascript 结合使用

javascript - 如何在javascript中使用对象内部的属性