Vue.js Vue CLI如何在不删除主源对象的情况下删除对象键
我给这个对象一个数组,它保存了将用于创建元素的循环的数据 数据:Vue.js Vue CLI如何在不删除主源对象的情况下删除对象键,vue.js,vue-cli,Vue.js,Vue Cli,我给这个对象一个数组,它保存了将用于创建元素的循环的数据 数据: callList : [ {'Agent Name':'AB Ferrancullo','Call ID':'s',ANI:'3',DNIS:'4043','Call Queue':'Paymaya','Call Type':'INBOUND','Call Start':'8/12/2019 7:48:15 AM','test':'1',Duration : '1427','Final Grade':75,
callList : [
{'Agent Name':'AB Ferrancullo','Call ID':'s',ANI:'3',DNIS:'4043','Call Queue':'Paymaya','Call Type':'INBOUND','Call Start':'8/12/2019 7:48:15 AM','test':'1',Duration : '1427','Final Grade':75,'Evaluted By':'Arnulfo','Evaluation Date':'August 13,2019'},
{'Agent Name':'AB Ferrancullo','Call ID':'d',ANI:'2',DNIS:'4043','Call Queue':'Paymaya','Call Type':'INBOUND','Call Start':'8/12/2019 12:32:40 PM','test':'2',Duration : '403','Final Grade':100,'Evaluted By':'Angelo','Evaluation Date':'August 14,2019'},
{'Agent Name':'AB Ferrancullo','Call ID':'1',ANI:'5',DNIS:'7788','Call Queue':'Paymaya','Call Type':'INBOUND','Call Start':'8/12/2019 9:46:39 AM','test':'3',Duration : '605','Final Grade':50,'Evaluted By':'John','Evaluation Date':'August 15,2019'}
]
循环:
<div class="col-sm-3" v-for="(call) in callList" :key="call.id">
<div class="card">
<div class="card-header fc-white" :class="[call['Final Grade'] >= 75 ? 'pqm-green' : 'bg-red']">
<h6 class="m-0">{{call['Agent Name']}}</h6>
</div>
<div class="card-body">
<h5 class="card-title mb-2"><b class="mr-1">Final Grade:</b>{{call['Final Grade']}}</h5>
<p class="m-0"><b class="mr-1">Evaluated By:</b> {{call['Evaluted By']}}</p>
<p><b class="mr-1">Evaluated Date:</b> {{call['Evaluation Date']}}</p>
<a data-toggle="modal" data-target="#modal-rate" @click="removeKeys(call)" class="btn btn-success pqm-green float-right fc-white"><i class="fal fa-search"></i> View Details</a>
</div>
</div>
</div>
但是在检查调用列表时,tempObj中删除的键也被删除了,这在我的UI中造成了一个问题。我遗漏了什么吗?或者使用var tempobj=obj在这里解决问题,您正在创建引用对象的浅层副本,因此两个对象都会更改
您应该使用var tempobj=JSON.parseJSON.stringifyobj执行深度复制
您还可以检查lodash及其“忽略”和“拾取”辅助函数为什么需要从对象中删除关键点?在哪里复制?你是说复制?您所要做的就是将引用分配给另一个var-so 2 vars一个对象。你能解释一下吗:tempObj中删除的键也是删除的,这在我的UI中造成了一个问题。“我觉得少了一个词?”埃姆·斯古尔比斯我不会在我的循环中使用它。@Estradiaz我的意思是,为了测试目的,我为tempobj做了一个保证。当我删除tempobj中的对象键时,这些键在callListFor testing中也被删除,你应该创建一个构造函数来构建新的对象,这样你就不必为每个上下文/作用域做奇怪的复制
removeKeys : function(obj){
var tempobj = obj
var keysToDelete = Object.keys(tempobj).splice(-3);
keysToDelete.forEach(k => $delete(tempobj,k));
this.awit = tempobj;
// console.log(callList);
}