VB网络复制类和更改值

时间:2016-08-23 12:44:36

标签: vb.net

我定义了一个类,其中定义了许多值。我想复制它然后更改1变量。但是,当我这样做时,它也会改变原始类中的变量。

我正在使用的代码如下所示。我有什么想法吗?

var todoList = new Vue({
    el:"#item_lists",
    data:{
        todos:[]
    },
    methods:{
        showDeleteBtn:function(index,event){
            event.stopPropagation();
            if(event.currentTarget.className!=="user_choice_item")
                return;

            var newState = Object.assign({},this.todos[index],{show:true});
            this.todos.$set(index,newState);
        },
        hideDeleteBtn:function(index,event){
            var newState = Object.assign({},this.todos[index],{show:false});
            this.todos.$set(index,newState);
        },
        deleteTodo:function(todo){

            this.todos.$remove(todo);
            return false;
        },


    }
});

1 个答案:

答案 0 :(得分:2)

这看起来是因为当您Dim NewClass对象时,这只是为PreviousClass对象创建另一个引用。变量名NewClassPreviousClass因此引用完全相同的对象,这就是NewClass.Value1 = NewVal也影响PreviousClass的原因。

正如JaydipJ建议的那样,您可能需要对象的深层副本,这两个答案看起来可能对您有用 -

Create a “clone” of this object, not point to it

copy one object to another