vue dataイニシャルデータの復元方法


私達はvueの開発を行っていますが、時々いくつかのページを保存しています。この時、私達はap.vueの配置は以下の通りです。

 <keep-alive>
 <router-view v-if="$route.meta.keepAlive"></router-view>
 </keep-alive>
このようにしてページを保存します。これらのページに再び入るときは、このページの元のデータをリセットしたいですが、どうすればいいですか?データごとに書き換えるというか、答えは否定的です。Object.assignとvueのデータを使って急速にリセットできます。

Object.assign(this.$data, this.$options.data())
Object.assign()----詳細
Object.assign(targt,…sources)
パラメータ:ターゲットオブジェクトをtargetします。ソースオブジェクト。
戻り値:オブジェクトを返します。
説明
ターゲットオブジェクトの属性が同じキーである場合、属性はソースオブジェクトの属性によって覆われます。後のソースオブジェクトの属性は、同様に前のソースオブジェクトの属性をカバーします。
Object.assignメソッドは、ソースオブジェクト自体をコピーし、列挙可能な属性のみを対象対象とします。この方法はソースオブジェクトの[Get]とターゲットオブジェクトの[Set]を使用するので、関連するgetterとsetterを呼び出す。したがって、新しい属性をコピーまたは定義するだけでなく、属性を割り当てます。マージソースにgetterが含まれている場合、新しい属性を元のモデルに統合するのに不適な可能性があります。属性定義(エニュメレーションを含む)をプロトタイプにコピーするためには、Object.getOwn PropertyDescripter()およびObject.defineProperty()が使用されるべきである。
StringタイプとSymbolタイプの属性はいずれもコピーされます。
エラーが発生した場合、例えば、属性が書き込み不可の場合、Type Errorを誘発し、エラーが発生する前に任意の属性を追加すれば、targetオブジェクトを変更することができる。
なお、Object.assignはそれらの値がnullまたはundefinedのソースオブジェクトをスキップしない。
注意:深度コピーに対しては、Object.assign()コピーの属性値が必要です。ソースオブジェクトの属性値がオブジェクトの参照である場合は、その参照だけを指します。
以上のこのvue dataは初期化データを回復するための方法は小編集で皆さんに提供した内容を全部共有しています。参考にしていただければと思います。よろしくお願いします。