亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Vue 重置data的數據為初始狀態操作

瀏覽:2日期:2022-09-30 18:53:30

在某些情況下,需要重新使用data中的數據,但是data中的數據已經被各種表單、變量等賦值,那么怎么重置data的值呢?

1. 逐個賦值

...data() { return { name: ’’, sex: ’’, desc: ’’ }}...// 逐個賦值this.name = ’’this.sex = ’’this.desc = ’’

這個方法比較笨,當然也可以實現效果,但是一個一個去重新賦值比較麻煩而且代碼看起來也會比較亂。

下面這個方法肯定是你喜歡的,一行代碼搞定~

2. 使用Object.assign()

MDN關于該方法的介紹:Object.assign() 方法用于將所有可枚舉屬性的值從一個或多個源對象復制到目標對象。它將返回目標對象。

用法: Object.assign(target, ...sources)

第一個參數是目標對象,第二個參數是源對象,就是將源對象屬性復制到目標對象,返回目標對象

其中就是將一個對象的屬性copy到另一個對象

vue中:

this.$data 獲取當前狀態下的data

this.$options.data() 獲取該組件初始狀態下的data

所以,下面就可以將初始狀態的data復制到當前狀態的data,實現重置效果:

Object.assign(this.$data, this.$options.data())

當然,如果你只想重置data中的某一個對象或者屬性:

this.form = this.$options.data().form

擴展

Object.assign(target, ...sources) 方法還可以用來合并對象:

const o1 = { a: 1 };const o2 = { b: 2 };const o3 = { c: 3 };const obj = Object.assign(o1, o2, o3);console.log(obj); // { a: 1, b: 2, c: 3 }console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目標對象自身也會改變。

如果對象中含有相同屬性,取最后一個屬性:

const o1 = { a: 1, b: 1, c: 1 };const o2 = { b: 2, c: 2 };const o3 = { c: 3 };const obj = Object.assign({}, o1, o2, o3);console.log(obj); // { a: 1, b: 2, c: 3 } 屬性取最后一個對象的屬性

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Vue
相關文章:
主站蜘蛛池模板: 国产视频一区二区三区四区 | 久久一本久综合久久爱 | 看国产一级毛片 | 在线视频一区二区三区四区 | 正在播放宾馆露脸对白视频 | 免费碰碰视频 | 91大学生视频 | 草草在线观看视频 | 国自产拍在线视频天天更新 | 九九免费高清在线观看视频 | 免费国产不卡午夜福在线观看 | a级做爰毛片视频免费看 | 91短视频版在线观看免费大全 | 莫菁在线 | 黄色小视频在线免费观看 | 免费国产h视频在线观看86 | 福利网站污 | 国产三级手机在线 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片唾 | 色图视频 | 成人合成mv福利视频网站 | 日本老妇成熟 | 日韩免费在线视频 | 日韩欧美在线观看视频一区二区 | 中文字幕一区二区精品区 | 国产aaa毛片 | 国产精品_国产精品_国产精品 | 综合色吧 | 亚洲色啦啦狠狠网站 | 国语自产免费精品视频在 | 91精品免费观看老司机 | 福利片在线观看免费高清视频 | 久久亚洲国产欧洲精品一 | 老子影院午夜伦不卡亚洲 | 久久国产亚洲高清观看5388 | 国产成人精品一区二三区在线观看 | 亚洲精品国产专区91在线 | xxxx久久 | 久久91精品国产91久 | 国产在线免 | 在线观看国产一区亚洲bd |