ホームページ ウェブフロントエンド jsチュートリアル Vueでのwatchの使い方を詳しく解説?時計の使い方の紹介

Vueでのwatchの使い方を詳しく解説?時計の使い方の紹介

Jul 08, 2020 pm 04:33 PM
vue watch

Vueでのwatchの使い方を詳しく解説?時計の使い方の紹介

vue では、watch を使用してデータの変更に応答します。時計の使い方は大きく分けて3つあります。次のコードは、watch の簡単な使用法です。

<input type="text" v-model="cityName"/>
ログイン後にコピー
new Vue({
  el: '#root',
  data: {
    cityName: 'shanghai'
  },
  watch: {
    cityName(newName, oldName) {      // ...    }
  } 
})
ログイン後にコピー

リスニング処理関数を直接記述し、cityName 値が変更されるたびにその関数を実行します。監視対象データの直後にメソッド名を文字列形式で追加することもできます:

watch: {
    cityName: 'nameChange'
    }
 }
ログイン後にコピー

immediate および handler

watch を使用する場合このように、最初に値をバインドしたときは listen 関数は実行されず、値が変更された場合にのみ実行されるという特徴があります。値が最初にバインドされるときに関数を実行する必要がある場合は、immediate 属性を使用する必要があります。

たとえば、親コンポーネントが子コンポーネントに動的に値を転送する場合、子コンポーネントの props が最初に親コンポーネントからデフォルト値を取得する場合、その関数も実行する必要があります。 true に設定する必要があります。

new Vue({
  el: '#root',
  data: {
    cityName: ''
  },
  watch: {
    cityName: {
      handler(newName, oldName) {
        // ...      },
      immediate: true
    }
  } 
})
ログイン後にコピー

監視されたデータは、後でハンドラー メソッドとイミディエイトを含むオブジェクト形式で書き込まれます。前に作成した関数は実際にこのハンドラー メソッドを記述しています。

イミディエイトは、最初にバインドされたときを意味します。 watch , ハンドラーを実行するかどうか. 値が true の場合は、ハンドラー メソッドがウォッチで宣言されたときにすぐに実行されることを意味します. 値が false の場合は、同様にデータが変更されたときに実行されます普通の時計。

deep

オブジェクトの変更を監視する必要がある場合、通常の監視メソッドではオブジェクトの内部属性の変更を監視できません。 , データのみ データのみが変化を検出できる このとき、オブジェクトを深く監視するには deep 属性が必要です。

<input type="text" v-model="cityName.name"/>
ログイン後にコピー
new Vue({
  el: '#root',
  data: {
    cityName: {id: 1, name: 'shanghai'}
  },
  watch: {
    cityName: {
      handler(newName, oldName) {      // ...    },
    deep: true,
    immediate: true
    }
  } 
})
ログイン後にコピー

cityName.name の変更を監視するには deep: true を設定します。この時点で、このリスナーは cityName のすべてのプロパティに追加されます。オブジェクトに多数のプロパティがある場合、各プロパティ値の変更は実行されたハンドラ。オブジェクト内の 1 つの属性値のみを監視する必要がある場合は、次の最適化を行うことができます: 文字列形式を使用してオブジェクト属性を監視します:

watch: {    'cityName.name': {
      handler(newName, oldName) {      // ...      },
      deep: true,
      immediate: true
    }
  }
ログイン後にコピー

この方法では、オブジェクトの特定の属性のみが監視されます。リスナーを追加しました。

配列 (1 次元、多次元) の変更には詳細な監視は必要ありませんが、オブジェクト配列内のオブジェクトのプロパティの変更には詳細な監視が必要です。

以上がVueでのwatchの使い方を詳しく解説?時計の使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vueでechartを使用する方法 vueでechartを使用する方法 May 09, 2024 pm 04:24 PM

vueでechartを使用する方法

vue におけるエクスポートのデフォルトの役割 vue におけるエクスポートのデフォルトの役割 May 09, 2024 pm 06:48 PM

vue におけるエクスポートのデフォルトの役割

vueでのmap関数の使い方 vueでのmap関数の使い方 May 09, 2024 pm 06:54 PM

vueでのmap関数の使い方

vueのeventと$eventの違い vueのeventと$eventの違い May 08, 2024 pm 04:42 PM

vueのeventと$eventの違い

vueのエクスポートとデフォルトのエクスポートの違い vueのエクスポートとデフォルトのエクスポートの違い May 08, 2024 pm 05:27 PM

vueのエクスポートとデフォルトのエクスポートの違い

Vue における onmounted の役割 Vue における onmounted の役割 May 09, 2024 pm 02:51 PM

Vue における onmounted の役割

vue の onmounted は、react のどのライフサイクルに対応しますか vue の onmounted は、react のどのライフサイクルに対応しますか May 09, 2024 pm 01:42 PM

vue の onmounted は、react のどのライフサイクルに対応しますか

vue のイベント修飾子はどのようなシナリオに使用できますか? vue のイベント修飾子はどのようなシナリオに使用できますか? May 09, 2024 pm 02:33 PM

vue のイベント修飾子はどのようなシナリオに使用できますか?

See all articles