色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:4日期: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
相關文章:
主站蜘蛛池模板: 免费一级性片 | 久久久综合视频 | 日韩一级性生活片 | 久久er热这里只有精品23 | 97视频在线视频 | 80日本xxxxxxxxx| 另类毛片 | 中文字幕亚洲一区二区v@在线 | 80日本xxxxxxxxx| 久久青草热 | 欧美成人全部免费观看1314色 | 亚洲一区二区三区精品国产 | 韩国19禁主播裸免费福利 | 中文在线最新版天堂 | 成人在线毛片 | 国产乱子伦真实china | 欧美日韩国产亚洲一区二区三区 | dy888午夜国产午夜精品 | 亚洲国产一区在线精选 | 岛国大片在线播放免费 | 国产成人一区二区三区高清 | 亚洲久久视频 | 亚洲欧美日韩在线一区二区三区 | 国产成人精品日本亚洲语音2 | 波多野结衣在线视频观看 | 99j久久精品久久久久久 | 日本一级高清不卡视频在线 | 午夜爽爽爽视频 | 国产精品久久人人做人人爽 | 亚洲一区二区免费视频 | 91精品久久久久久久久网影视 | 亚洲国产欧洲精品路线久久 | 一级毛片在线免费看 | 成人亚洲精品一区二区 | 久久这 | 狼人久久尹人香蕉尹人 | 亚洲超大尺度激情啪啪人体 | 欧美成a人免费观看久久 | 国产福利片在线 易阳 | 三级视频在线观看 | 加勒比一区二区 |