Vue で配列をクリアするいくつかの方法 (要約)

Vue で配列をクリアするいくつかの方法 (要約)

1. はじめに

数日前、仕事中に問題に遭遇しました。vue3 で reactive を使用して生成されたレスポンシブ配列をクリアするにはどうすればよいでしょうか? もちろん、通常は次のようにクリアします。

  配列を[1,2,3]とします。
  配列 = [];

ただし、この方法は、次のようなリアクティブ プロキシで使用する場合、まだ少し問題があります。

    配列をreactive([1,2,3])とします。
    watch(()=>[...配列],()=>{
      console.log(配列);
    },)
    配列 = リアクティブ([]);

明らかに、元の応答オブジェクトへの参照が失われるため、監視は直接失われます。

2. データを消去するいくつかの方法

もちろん、10 年のコーディング経験があり、何年も怠けてきた私としては、すぐにいくつかの解決策を思いつきました。

2.1 ref() の使用

ref を使用するのが最も簡単な方法です。

    定数配列 = ref([1,2,3]);

    ウォッチ(配列,()=>{
      console.log(配列.値);
    },)

    配列の値 = [];

2.2 スライスの使用

名前が示すように、slice は配列をスライスして新しい配列を返します。これは、Go 言語の slice に多少似ています。もちろん、React を使用したことがある友人は、slice をよく使用するはずです。配列をクリアするには、次のように記述するだけです。

    定数配列 = ref([1,2,3]);

    ウォッチ(配列,()=>{
      console.log(配列.値);
    },)

    配列の値 = 配列の値のスライス(0,0);

ただし、ref の使用には注意してください。

2.3 長さは0に割り当てられます

個人的には、長さを 0 に直接割り当てるこの方法を好みます。

    定数配列 = ref([1,2,3]);

    ウォッチ(配列,()=>{
      console.log(配列.値);
    },{
      深い:本当
    })

   配列の値の長さ = 0;

さらに、これは一度だけトリガーされますが、深く開くには時計に注意を払う必要があります。

ただし、この方法では、リアクティブを使用する方が便利であり、deep を有効にする必要はありません。

    定数配列 = リアクティブ([1,2,3]);

    watch(()=>[...配列],()=>{
      console.log(配列);
    })

    配列の長さ = 0;

2.4 スプライスの使用

副作用関数 splice も解決策の 1 つです。この場合、reactive も使用できます。

    定数配列 = リアクティブ([1,2,3]);

    watch(()=>[...配列],()=>{
      console.log(配列);
    },)

    配列.splice(0,配列.長さ)

ただし、ウォッチは複数回トリガーされることに注意してください。

もちろん、ref を使用することもできますが、この場合は deep をオンにする必要があることに注意してください。

    定数配列 = ref([1,2,3]);

    ウォッチ(配列,()=>{
      console.log(配列.値);
    },{
      深い:本当
    })

    配列の値の連結(0,配列の値の長さ)

しかし、ref も reactive と同様に複数回トリガーされていることがわかります。

3. 結論

これで、Vue で配列をクリアするいくつかの方法についての記事は終了です (要約)。Vue で配列をクリアする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • メンバーの追加や削除時に Vue オブジェクトをリアルタイムで更新できない問題の解決方法
  • Vue 入力 v-model クリア操作
  • Vueでオブジェクトをクリアする方法

<<:  nginx「504 ゲートウェイタイムアウト」エラーを解決する

>>:  CSS で隠し要素を実現する 7 つの興味深い方法

推薦する

SSMは、mysqlデータベースアカウントのパスワード暗号文ログイン機能を実装します。

導入当社は、情報セキュリティと機密アプリケーションに関わるいくつかのプロジェクトの研究開発に従事して...

Nodejs は JSON 文字列を JSON オブジェクトに変換するエラー解決法

JSON 文字列を JSON オブジェクトに変換するにはどうすればいいですか? JSON.parse...

CentOS プラットフォーム上で LAMP 環境を素早く構築する方法

この記事では、例を使用して、CentOS プラットフォーム上で LAMP 環境を迅速に構築する方法に...

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...

MySQLデータベースインデックスの詳細な紹介

目次マインドマップシンプルな理解インデックスモデルの進化二分探索木自己バランス型二分木BツリーB+ ...

MySQL の高度な機能 - データ テーブル パーティショニングの概念とメカニズムの詳細な説明

目次パーティション分割メカニズムSELECTクエリINSERT操作DELETE操作更新操作パーティシ...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

MySQL初心者はグループ化や集計クエリの煩わしさから解放されます

目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...

CentOS7 ファイアウォールとポート関連コマンドの紹介

目次1. ファイアウォールの現在の状態を確認する2. ファイアウォールサービスを開始する3. ファイ...

MySQL でのテーブルの作成と削除の詳細な例

テーブル作成コマンドには以下が必要です。 テーブルの名前フィールド名各フィールドを定義します(タイ...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

Linux でのマルチスレッドおよびマルチプロセス クラッシュのシミュレーションに関する簡単な説明

結論:マルチスレッド環境では、スレッドの 1 つがクラッシュすると、他のスレッド (プロセス全体) ...

DIV+CSS命名規則の詳細な説明はSEO最適化に役立ちます

1. CSSファイルの命名規則提案: 文字、_、-、数字を使用します。文字で始まる必要があり、純粋な...

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...