av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作

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

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

1. 逐個賦值

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

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

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

2. 使用Object.assign()

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

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

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

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

vue中:

this.$data 獲取當前狀態(tài)下的data

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

所以,下面就可以將初始狀態(tài)的data復制到當前狀態(tài)的data,實現(xiàn)重置效果:

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 } 屬性取最后一個對象的屬性

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

標簽: Vue
相關文章:
主站蜘蛛池模板: 亚洲精品久久久久久久久久久 | 日本精品一区 | 色精品视频| 亚洲第一在线视频 | 91大神新作在线观看 | 日本黄色大片免费 | 亚洲综合在线一区 | 国产精品成人一区二区三区夜夜夜 | 国产资源在线观看 | 99久久精品一区二区毛片吞精 | 午夜爱爱网 | 在线免费观看a级片 | 午夜免费网站 | 日日骚网 | 在线成人www免费观看视频 | 视频在线观看一区二区 | 成人av鲁丝片一区二区小说 | 在线视频中文字幕 | 亚洲一区二区电影网 | 九九综合| 一区二区成人 | 亚洲精品一区二三区不卡 | 久久国产精品精品国产色婷婷 | 色天天综合 | 亚洲成人动漫在线观看 | 久久亚洲一区二区三区四区 | 日韩不卡一区二区 | 男人天堂视频在线观看 | 美女在线国产 | 亚洲精品2区 | 在线亚洲免费视频 | 久久精品久久久久久 | 精品国产乱码久久久久久1区2区 | 国产成人在线一区二区 | 亚洲精品在线视频 | 九九热精品在线 | 国产精品久久久久久久久免费樱桃 | 男人的天堂在线视频 | 久久99精品久久久久久狂牛 | 免费国产一区 | 精品国产一区探花在线观看 |