Javascript 避免Vue.js中变量的数据绑定
我有一个简单的表单,要求输入用户名和密码。 这些是我的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
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);
您可以在编辑表单中的数据时使用此选项,如果取消编辑,则可以回滚数据。快速修复我的问题!