Vueはデータを初期状態にリセットします

Vueはデータを初期状態にリセットします

場合によっては、データ内のデータを再利用する必要がありますが、データ内のデータはさまざまなフォーム、変数などに割り当てられているため、データの値をリセットするにはどうすればよいでしょうか。

1. 値を一つずつ割り当てる

...
データ() {
 戻る {
 名前: ''、
 性別: ''、
 説明: ''
 }
}
...
// 値を一つずつ割り当てる this.name = ''
this.sex = ''
this.desc = ''

この方法は不器用で、もちろん目的の効果は達成できますが、値を一つずつ再割り当てするのは面倒で、コードが乱雑に見えてしまいます。

次の方法は間違いなくあなたが好きなもので、1行のコードで完了します〜

2. Object.assign() を使用する

このメソッドの MDN 紹介: Object.assign() メソッドは、1 つ以上のソース オブジェクトからターゲット オブジェクトにすべての列挙可能なプロパティの値をコピーするために使用されます。対象オブジェクトを返します。

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

最初のパラメーターはターゲット オブジェクトであり、2 番目のパラメーターはソース オブジェクトです。つまり、ソース オブジェクトのプロパティをターゲット オブジェクトにコピーし、ターゲット オブジェクトを返します。

これは、あるオブジェクトのプロパティを別のオブジェクトにコピーすることです。

Vueの場合:

this.$dataは現在の状態のデータを取得します

this.$options.data() コンポーネントの初期状態のデータを取得します

したがって、リセット効果を実現するために、初期状態のデータを現在の状態のデータにコピーすることができます。

オブジェクトを割り当てます(this.$data、this.$options.data())

もちろん、データ内の特定のオブジェクトまたは属性のみをリセットしたい場合は、次のようにします。

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

拡張機能

Object.assign(target, ...sources) メソッドを使用してオブジェクトをマージすることもできます。

定数 o1 = {a: 1};
定数o2 = { b: 2 };
定数o3 = { c: 3 };
obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1、b: 2、c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, ターゲットオブジェクト自体も変更されることに注意してください。

オブジェクトに同じ属性が含まれている場合は、最後の属性を取得します。

定数o1 = {a: 1、b: 1、c: 1 };
定数o2 = { b: 2, c: 2 };
定数o3 = { c: 3 };
obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 } プロパティは最後のオブジェクトのプロパティを取得します

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • 初期化データを復元するためのvueデータの実装方法
  • Vueはデータを初期状態に復元し、コンポーネントインスタンスを再レンダリングします。
  • Vue の計算プロパティとデータ取得方法
  • Vueでデータを初期化する方法

<<:  Squid を使用して http および https 用のプロキシ サーバーを構築する方法

>>:  MySql の忘れたパスワードの変更方法はバージョン 5.7 以上に適しています

推薦する

Linux 上でプロジェクトをリリースするために Tomcat を展開するプロセスにおけるさまざまな問題と解決策

プロジェクトをプロジェクトサイトのテスト環境にデプロイするJDK1.8トムキャット8.5 Maven...

HTML 5 ワーキングドラフトの謎を解く

World Wide Web Consortium (W3C) は、HTML 5 仕様のドラフトをリ...

MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明

この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...

スケルトン スクリーンの読み込みプレースホルダー アニメーション効果を実装するための CSS + HTML (アニメーション付き)

効果上から下へフェードアウト ソースコードhtml、Angular構文を使用して、必要な構文を取得す...

Linux 継続的インテグレーションで Maven を自動的にインストールする方法

Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....

要素の高さを下から上へ、上から下へ制御する CSS メソッド

よくある質問から議論を始めましょう。CSS を使用して要素の高さを [ブラウザ コンテンツ ウィンド...

仮想マシン VMware に Kali Linux をインストールする最新の超詳細なグラフィック チュートリアル

目次1. システムイメージファイルをダウンロードする2. 新しい仮想マシンを作成する3. Kali ...

JS の querySelector メソッドと getElementById メソッドの違い

目次1. 概要1.1 querySelector() と querySelectorAll() の使...

SSMプロジェクトは、ホットデプロイメント構成を実装するためにTomcatとMavenを使用してWARパッケージとしてデプロイされることが多い。

背景ご存知のとおり、JavaEE プロジェクトを開発した後は、そのプロジェクトをサーバーの Tomc...

Ubuntu 18.04 Server に静的 IP を設定する方法

1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...

ウェブサイトの画像にグレー効果を加える3つの方法

私はグレースケールの画像の方が芸術的に見えると思うので、いつもグレースケールの画像を好んで使っていま...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機機能を実現するためのVueの具体的なコードを紹介します。具体的...

Vue-Routerのルート設定の詳しい説明

目次導入ルート内のオブジェクト属性パス: 文字列コンポーネント: コンポーネント | () =>...

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向...