时间:2022-07-17 09:14:16 | 栏目:vue | 点击:次
使用字面量方法指向一个新的对象:
var obj = { name: 'Lee', age: 20 }; obj = {};
var obj = { name: 'Lee', age: 20 }; for(var key in obj){ delete obj[key]; }
使用对象字面量,不推荐使用。
<div id="app"> <button @click="deleteInfo">删除</button> 姓名:{{ message.name }}, 年龄:{{ message.age }} </div>
var app = new Vue({ el: '#app', data: { message:{ name:"Lee", age: 20 } }, methods:{ deleteInfo:function(){ this.message = {}; } } })
使用 Vue.delete:
<div id="app"> <button @click="deleteInfo">删除</button> 姓名:{{ message.name }}, 年龄:{{ message.age }} </div>
var app = new Vue({ el: '#app', data: { message:{ name:"Lee", age: 20 } }, methods:{ deleteInfo:function(){ for(let key of Object.keys(this.message)){ Vue.delete(this.message,key); } } } })
其中就是将一个对象的属性copy到另一个对象
this.$data
获取当前状态下的datathis.$options.data()
获取该组件初始状态下的data所以,下面就可以将初始状态的data复制到当前状态的data
实现重置效果:
Object.assign(this.$data, this.$options.data())
当然,如果你只想重置data中的某一个对象或者属性:(一般用于表单清空数据)
this.form = this.$options.data().form
某一个对象清空vule值,保留key
Object.keys(form).forEach((key) => (form[key] = ''))