我是新来的,所以请原谅我,如果我写的不好或代码部分...仍然试图弄清楚。
所以我尝试了很多形式来达到我想要的结果,但是没有成功...
基本上,应用程序是得到一个工资(金额),并有在帐户(currentSalar)的总和,这两个都是从类型字符串,而不是数字...我需要找到一种方法来休息的工资总额,显然更新它。
这里有一些截图,如果有人可以帮助我,请。
**/index.js**
import mutations from './mutations.js';
import actions from './actions.js';
import getters from './getters.js';
export default {
namespaced: true,
state() {
return {
registers: [
{
id: 'user1',
currentSalar: '4,400' ,
saves: '12,000',
currency: '₪',
expense: [{salary: '3,000', category: 'Bar:'}]
},
{
id: 'user2',
currentSalar: '100,000',
saves: '3,000,000',
currency: '$',
expense: []
}
]
}
},
mutations,
actions,
getters
}
**/mutations.js**
export default {
addRegister(state, payload) {
const registerToUpdate = state.registers.find(
(register) => register.id === payload.id
);
const expenses = registerToUpdate.expense; //////* find((expense) => expense.salary === payload.salary) */
const salary = +expenses.salary;
let current = +registerToUpdate.currentSalar;
const newCurrnt = current -= salary; // should calculate a new value (UPDATE) for the currentSalar by resting the salary
console.log(newCurrnt);
expenses.unshift(payload);
},
};
```````````````````
**/actions.js**
export default {
addRegister(context, data) {
const RegisterData = {
id: context.rootGetters.userId,
category: data.category,
salary: data.salary
}
context.commit('addRegister', RegisterData);
}
}
/component
`
2条答案
按热度按时间toiithl61#
JavaScript无法将数字理解为字符串。
当你想做算术运算时(我猜你会这么做,因为你开发的应用程序与会计有关),你必须处理数字:
即使当您从编写得很差的API(以字符串形式返回数字)获取这些数据时,您要做的第一件事是在将它们放入存储之前将它们转换为数字。
当你试图将一个字符串转换为数字(通过附加
+
),如果字符串包含千位分隔符作为逗号(或者任何不是数字、点或科学数字符号的东西-例如:'-3e6'
),您将返回NaN。在这里查看:
当您想向用户显示商店中使用的数字时,如果您想在它们上面放置千位和小数分隔符,请使用Intl.NumberFormat。
uklbhaso2#
已解决:)
下面是代码: