Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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
Javascript 如何保留对象';第二次单击vuejs时的属性?_Javascript_Vue.js_Binding_Mutation - Fatal编程技术网

Javascript 如何保留对象';第二次单击vuejs时的属性?

Javascript 如何保留对象';第二次单击vuejs时的属性?,javascript,vue.js,binding,mutation,Javascript,Vue.js,Binding,Mutation,我有一个大对象,其中包含VueJS中的模块->类别->n级子类别。问题是每当我单击类别(包含子类别),单击其他类别,然后单击同一类别,它的子类别就会自动删除 对于解决方案,我转换了 让newObj=this.list.Modules[this.selectedModuleIndex].Category; 到 让newObj=JSON.parse(JSON.stringify(this.list.Modules[this.selectedModuleIndex].Category));或 让new

我有一个大对象,其中包含VueJS中的模块->类别->n级子类别。问题是每当我单击类别(包含子类别),单击其他类别,然后单击同一类别,它的子类别就会自动删除

对于解决方案,我转换了

  • 让newObj=this.list.Modules[this.selectedModuleIndex].Category; 到
  • 让newObj=JSON.parse(JSON.stringify(this.list.Modules[this.selectedModuleIndex].Category));或
  • 让newObj=Object.assign({},this.list.Modules[this.selectedModuleIndex].Category)
  • 然后呢,, this.formData=newObj

    通过这样做(2,3),子类别在第二次单击时保持不变。 但由于我只分配引用,因此我对this.formData执行的CRUD操作将不会反映在this.list上。由于它是复杂的n级结构,因此不可能跟踪特定类别上的每一次积垢操作。因此,在这个.list上进行了大量更新

    到目前为止,我无法选择任何一个选项

    • 通过引用传递2,3解决了子类别删除问题,但不会反映对此的更改。列出formData的CRUD操作
    • 像1一样直接传递会删除子类别,但会反映对formData的this.list CRUD操作的更改
    提前谢谢。

    这还不清楚。“它的子类别会自动删除。”从什么中删除?怎么用?为什么单击时会删除任何内容?您应该将问题的一个非常小的代码示例发布到或使用只有两个类别的小对象