You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vipbo, Miboweixin, keven-one, dxsjd, LeanderY and 10 moreYanhua67, liuxiaoyang1, sundeheng and lm101845coders404sundeheng, zwzy, huanggengzhong, kml1994, JayShen1943 and 1 more
Activity
jialudev commentedon Jul 3, 2019
只有问题没有答案吗
haizhilin2013 commentedon Jul 3, 2019
@Mary5haw 目前还没有人回答,你来回答下呗
Aaron0525 commentedon Jul 3, 2019
使用Object.assign(),vm.$data可以获取当前状态下的data,vm.$options.data可以获取到组件初始化状态下的data,具体可以看vm.$options。
ChasLui commentedon Jul 6, 2019
boss1000 commentedon Aug 15, 2019
Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
this.$data获取当前状态下的data
this.$options.data()获取该组件初始状态下的data。
bject.assign(this.$data, this.$options.data())
zhangxiaos commentedon Sep 26, 2019
初始状态下设置data数据的默认值,重置时直接bject.assign(this.$data, this.$options.data())
说明:
this.$data获取当前状态下的data
this.$options.data()获取该组件初始状态下的data(即初始默认值)
如果只想修改data的某个属性值,可以this[属性名] = this.$options.data()[属性名],如this.message = this.$options.data().message
InterfaceBoy commentedon Sep 26, 2019
浅拷贝会影响到初始化的data吗?
coldtherain commentedon Oct 9, 2019
想问一句,这个使用场景在哪里?真的没碰见过需要重置的情况
censek commentedon Oct 11, 2019
比如,有一个表单,表单提交成功后,希望组件恢复到初始状态,重置data数据。
nannan0109 commentedon Oct 18, 2019
@censek 重置的意思 是使数据恢复成操作之前吗 不是置空是吗?
wush12 commentedon Nov 6, 2019
1.使用Object.assign,可以重新绑定data的响应式。
2.使用$set
3.组件强制更新
DanielLeefu commentedon Dec 23, 2019
我们可以通过this.$data获取当前状态下的data,通过this.$options.data()获取该组件初始状态下的data。
然后只要使用Object.assign(this.$data, this.$options.data())就可以将当前状态的data重置为初始状态
czkm commentedon Mar 1, 2020
为啥不写个方法 this.data.form = {}? 说实话没太懂重置data的意义 ,能请教一下吗
censek commentedon Mar 2, 2020
可以设置表单的默认值。
yuanqi3131 commentedon Mar 4, 2020
使用 Object.assign(this.$data,this.$options.data.call(this)) 这样写才有用
micahgao commentedon May 29, 2020
vnues commentedon Aug 28, 2020
Object.assign(this.$data, this.$options.data())
挺好的 可以重置回初始值 优雅写法
SanChauncy commentedon Aug 31, 2020
浅拷贝
czkm commentedon Aug 31, 2020
这是我工作中用到的 this.formList = this.$options.data.call(this).formList
radio-qq commentedon Dec 30, 2020
懒加载
radio-qq commentedon Dec 30, 2020
在加个this.$set()齐了
crush2020 commentedon Jan 29, 2021
没用过,用作记录
Object.assign(this.$data, this.$options.data())方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
this.$data获取当前状态下的data
this.$options.data()获取该组件初始状态下的data(即初始默认值)
如果只想修改data的某个属性值,可以this[属性名] = this.$options.data()[属性名],如this.message = this.$options.data().message
crush2020 commentedon Jan 29, 2021
@czkm
我就是这样重置表单的数据的
MakeBetterMe commentedon Sep 29, 2021
聪明
hyj443 commentedon Oct 27, 2021
mark 学到了
Object.assign 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
this.$data 获取当前状态下的data
this.$options.data()获取该组件初始状态下的data
Oject.assign(this.$data, this.$options.data())
yang-xianzhu commentedon Aug 1, 2022
this.$options.data(),返回的就是data的初始值。
AAA611 commentedon Aug 30, 2022
重新执行组件的 data 函数,这个函数可以在vm.$options中找到