data的值 如何初始化vue_vue data恢复初始化数据的实现方法
在我們進(jìn)行vue開發(fā)過程中,經(jīng)常會保存一些頁面,此時(shí),我們在app.vue的配置如下,
以此來保存頁面,那么在再次進(jìn)入這些頁面的時(shí)候,我們需要重置該頁面的原始數(shù)據(jù),那么該如何進(jìn)行呢?是不是要講每個數(shù)據(jù)進(jìn)行重寫,答案是否定的。利用Object.assign 以及vue的數(shù)據(jù)可以快速重置。 Object.assign(this.$data, this.$options.data())
Object.assign() ----詳解
Object.assign(target, ...sources)
參數(shù): target 目標(biāo)對象。sources 源對象。
返回值:目標(biāo)對象。
描述
如果目標(biāo)對象中的屬性具有相同的鍵,則屬性將被源對象中的屬性覆蓋。后面的源對象的屬性將類似地覆蓋前面的源對象的屬性。
Object.assign 方法只會拷貝源對象自身的并且可枚舉的屬性到目標(biāo)對象。該方法使用源對象的[[Get]]和目標(biāo)對象的[[Set]],所以它會調(diào)用相關(guān) getter 和 setter。因此,它分配屬性,而不僅僅是復(fù)制或定義新的屬性。如果合并源包含getter,這可能使其不適合將新屬性合并到原型中。為了將屬性定義(包括其可枚舉性)復(fù)制到原型,應(yīng)使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。
String類型和 Symbol 類型的屬性都會被拷貝。
在出現(xiàn)錯誤的情況下,例如,如果屬性不可寫,會引發(fā)TypeError,如果在引發(fā)錯誤之前添加了任何屬性,則可以更改target對象。
注意,Object.assign 不會跳過那些值為 null 或 undefined 的源對象。
注意:針對深拷貝,需要使用其他辦法,因?yàn)?Object.assign()拷貝的是屬性值。假如源對象的屬性值是一個對象的引用,那么它也只指向那個引用。
以上這篇vue data恢復(fù)初始化數(shù)據(jù)的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持聚米學(xué)院。
總結(jié)
以上是生活随笔為你收集整理的data的值 如何初始化vue_vue data恢复初始化数据的实现方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git init 会不会清空_Git命令
- 下一篇: mysql临时开启二进制_关于MySQL