有效载荷 javascript 中的对象名称

问题描述

我有这个有效载荷。

{name: "Sinto 6",val: {…},line: "Sinto 6"}
line: "Sinto 6"
name: "Sinto 6"
val:
AvgMachTime: 253
AvgManTime: 1343
CollectMachTimer: 359
CollectManTimer: 108
CycleTimeMach: 359
CycleTimeMan: 140
FaultTime: 15297
MachTargetSeconds: 330
ManTargetSeconds: 95
NGPartCount: 63
OnHeatTime: 11201
PartCount: 12
PartTarget: 78

我正在尝试使用 Vue 设置使用状态的值

const PERFORMANCE_COMMIT = (state,payload) => {
Vue.set(state["Performance"][payload.line],[payload.val],payload.val);
}

我意识到我的 payload.val 之一需要是值的名称,而不是名称本身。

我该如何正确引用它?

我的状态如下:

Performance: {
    TotalPartTarget: 0,TotalPartCount: 0,Difference: 0,OEE: 0,OEETarget: 100,"Sinto 6" :{
      PartTarget: 0,PartCount: 0,NGPartCount: 0,FaultTime: 0,OnHeatTime: 0,CycleTimeMan: 0,CycleTimeMach: 0,CollectManTimer: 0,CollectMachTimer: 0,AvgManTime: 0,AvgMachTime: 0,ManTargetSeconds: 0,MachTargetSeconds: 0

编辑:拼写

解决方法

根据 Vue 文档 (Vue.set Documentation Link),第一个参数是目标,第二个是属性名称/索引,第三个是值。

因此,在您的情况下,目标属性是 state["Performance"],属性名称是 payload.line ("Sinto 6"),值是 有效载荷.val

const PERFORMANCE_COMMIT = (state,payload) => {
  Vue.set(state["Performance"],payload.line,payload.val);
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...