vue3 watch と watchEffect の使い方と違い

vue3 watch と watchEffect の使い方と違い

1.リスナーを見る

時計のご紹介

'vue' から { ref, reactive, watch, toRefs } をインポートします。

基本的なデータの種類を監視する-----監視機能:

1. ある程度の遅延性があります。ページが初めて表示されたときには実行されず、データが変更されたときのみ実行されます。

2.パラメータは現在値と元の値を取得できる

3. 複数のデータの変更を監視し、1 つのリスナーを使用してそれらを伝達できます。

設定() {
	定数名 = ref('leilei')
	ウォッチ(名前、(現在の値、前の値) => {
 	console.log(現在の値、前の値)
 })
}
テンプレート: `名前: <input v-model="name" />`

参照型を聴く-----

設定() {
	const nameObj = reactive({name: 'leilei', englishName: 'bob'})
 データを監視します watch(() => nameObj.name, (curVal, prevVal) => {
 	console.log(現在の値、前の値)
 })
 複数のデータを監視する watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', 前の名前, curEng)
  タイムアウトを設定する(() => {
   ストップ1()
  }, 5000)
 })
 const { name, englishName } = toRefs(nameObj)
}
テンプレート: `名前: <input v-model="name" /> 英語名: <input v-model="englishName" />`

2.ウォッチエフェクト

過剰なパラメータはなく、コールバック関数は1つだけ

1. 遅延なくすぐに実行し、ページが最初に読み込まれたときに実行されます。

2. 内部コードを自動的に検出し、コードに依存関係がある場合はそれを実行します。

3. 聞くコンテンツを渡す必要はありません。コードの依存関係を自動的に感知します。多くのパラメータを渡す必要はありません。コールバック関数を渡すだけです。

4. 以前のデータの値を取得することはできません。現在の値のみを取得できます。

5. ここでは、一部 = 非同期操作の方が適切でしょう

ウォッチエフェクト(() => {
	console.log(名前オブジェクト名) 
})

リスナーをキャンセルする方法は、ウォッチ リスナーをキャンセルする方法と同じです。

const stop = watchEffect(() => {
	console.log(名前オブジェクト名) 
 タイムアウトを設定する(() => {
 	停止()
 }, 5000)
})

const stop1 = watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', 前の名前, curEng)
  タイムアウトを設定する(() => {
   ストップ1()
  }, 5000)
 })

3番目のパラメータimmediate: trueを追加することで、ウォッチを遅延のない即時実行に変更することもできます。

 watch([() => nameObj.name, () => nameObj.name], ([curName, curEng], [prevName, curEng]) => {
 	console.log(curName, curEng, '----', 前の名前, curEng)
  タイムアウトを設定する(() => {
   ストップ1()
  }, 5000)
 }, {
 	即時: 真
 })

上記は、vue3 watch と watchEffect の使い方と違いについての詳細な内容です。vue3 watch と watchEffect の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • VUE3 での watch と watchEffect の使い方の詳細な説明
  • Vue3 での watchEffect の使用に関する簡単な分析
  • vue3 の watch と watchEffect についてご存知ですか?
  • Vue3 における watchEffect の具体的な使用法についての簡単な説明
  • vue3 の watch と watchEffect の詳細な例

<<:  docker pullがリセットされる問題を解決する

>>:  Oracle10パーティションとMySQLパーティションの違いの詳細な説明

推薦する

Centos8.3、dockerデプロイメントspringbootプロジェクトの実際のケース分析

導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...

Vueデータプロキシの詳細な説明

目次1. これからお話しするのは、フロントエンド担当者がvue-cliで完了できるソリューション、デ...

CSS background-blend-modeの仕組みを深く理解する

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

JSON.parse と JSON.stringify の使い方の詳細な説明

目次JSON.パースJSON.parse 構文リバイバーパラメータJSON.parse の機能その他...

Vueはドラッグアンドドロップまたはクリックで写真をアップロードする機能を実装しています

この記事では、ドラッグアンドドロップやクリックによる画像のアップロードを実現するためのVueの具体的...

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

iconfontアイコンライブラリをvueに導入するエレガントな実践記録

目次序文SVGを生成するSVGスプライトの紹介プロジェクトアイコンを取得するプロジェクトのセットアッ...

テーブルタグ(テーブル)詳細

<br />テーブルは、昔から誰もが使ってきたタグで、今も使われています。しかし、現在の...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

MySQLの実行プロセスとシーケンスについての簡単な説明

目次1:mysql実行プロセス1.1: コネクタ1.2: キャッシュ1.3: アナライザー1.4: ...

Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)

ステップ1: サードパーティの信頼できるSSL証明書に署名するAlibaba Cloud で直接、無...

MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]

この記事では、MySQL の単一テーブル クエリ操作について説明します。ご参考までに、詳細は以下の通...

Linux プラットフォームでの Zabbix エージェントのインストールと設定方法

ここでは、Linux プラットフォームでの Zabbix エージェントのインストールと構成について簡...

mysql 5.7.18 winx64 無料インストール設定方法

1. ダウンロード2. 減圧3. パス環境変数を追加し、mysqlが配置されているbinディレクトリ...