Javascript 避免Vue.js中变量的数据绑定

Javascript 避免Vue.js中变量的数据绑定,javascript,forms,data-binding,binding,vue.js,Javascript,Forms,Data Binding,Binding,Vue.js,我有一个简单的表单,要求输入用户名和密码。 这些是我的Vue.js数据 data: { app_images:[ { app: '../assets/img/logos/logo.png' } ], json_repository:[], user: { username: null, password: null }, submitted: null } 表单中的用户名和密码字段绑定到user.Use

我有一个简单的表单,要求输入用户名和密码。 这些是我的Vue.js数据

  data: {
    app_images:[
      { app: '../assets/img/logos/logo.png' }
    ],
    json_repository:[],
    user: {
      username: null,
      password: null
    },
    submitted: null
  }
表单中的用户名和密码字段绑定到user.Username和user.password。按登录按钮执行doLogin功能

methods: {
  doLogin: function() {
    this.submitted = this.user;
},

问题是,从现在开始,表单中的每一次编辑都会更改“提交”字段中的值,我希望避免您可以创建一份数据副本来避免此问题

methods: {
  doLogin: function() {
    this.submitted = Object.assign({}, this.user);
},
现在,您的
this.submitted
this.user
不再引用同一对象,更改其中一个对象不会更改另一个对象

Object.assign({},Object)在有多个内部对象时工作不正常。我用store对象解决了这个问题,然后用JSON.stringify将其更改为string,然后用JSON.parse回滚对象,就像

this.beforeEditingCache = JSON.stringify(this.editObject);
取消

this.editObject = JSON.stringify(this.beforeEditingCache);

您可以在编辑表单中的数据时使用此选项,如果取消编辑,则可以回滚数据。

快速修复我的问题!