Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js Vue CLI如何在不删除主源对象的情况下删除对象键_Vue.js_Vue Cli - Fatal编程技术网

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);
    }