vue 値変更トリガーイベントについて話しましょう

PHPz
リリース: 2023-04-26 14:51:39
オリジナル
2564 人が閲覧しました

Vue ではデータ駆動が中心的な考え方であるため、コンポーネントのデータを変更するときは、フロントエンド ページの動的な表示の効果を実現するために、時間内にビューを更新する必要があります。 Vue は、データが変更されたときに対応するイベントを自動的にトリガーする非常に便利なメカニズム (通常はリスナーと呼ばれます) を提供します。

ここでは、読者が Vue の関連機能をより深く理解し、適用できるように、Vue の値が変更されたときにトリガーされるイベントに関する関連ナレッジ ポイントを紹介します。

  1. データの変更を監視する方法

Vue は、計算、監視、メソッドなど、データの変更を監視するさまざまな方法を提供します。以下ではそれぞれの使い方と特徴を紹介します。

1.1 computed

computed は Vue の非常に重要な属性です。コンポーネントで computed 属性を定義した後、Vue はコンポーネントがレンダリングされるときに属性の値を自動的に計算します。 when 属性値が変更されると、ビューが自動的に更新されます。

以下は計算された例です:

computed: {
  fullName: function () {
    return this.firstName + ' ' + this.lastName
  }
}
ログイン後にコピー

この例では、firstName または lastName の値が変更されると、Vue は fullName の値を再計算し、対応するビューを更新します。

1.2 watch

watch はデータの変更を監視するもう 1 つの方法で、主に特定の値の変更を監視し、変更時に特定のロジックを実行するために使用されます。計算済みとは異なり、watch は以下に示すように個別に定義する必要があります:

watch: {
  firstName: function (newValue, oldValue) {
    console.log('firstName changed from ' + oldValue + ' to ' + newValue)
  }
}
ログイン後にコピー

この例では、firstName の値が変更されると、Vue は watch で定義されたロジックを自動的に実行し、対応するログ情報を出力します。

1.3messages

methods は、コンポーネント操作のメソッドを定義するために使用される属性です。メソッドを呼び出すと、コンポーネント データを直接変更し、対応するビューの更新をトリガーできます。この方法はあまり実用的ではありませんが、一部の特殊なシナリオでは非常に便利です。

次は、methods 属性の例です:

methods: {
  changeName: function () {
    this.firstName = 'NewName'
  }
}
ログイン後にコピー

この例では、changeName メソッドが呼び出されると、Vue は firstName の値を自動的に変更し、ビューの更新をトリガーします。

  1. 値の変更によってトリガーされるイベントのアプリケーション シナリオ

実際の開発では、多くの場合、ビジネス ニーズを達成するためにデータが変更されたときに、対応するイベントをトリガーする必要があります。タイムサーチを待​​ちます。以下では、特定のシナリオを組み合わせて、前の記事で紹介したデータ変更を監視する方法を使用して、値変更トリガー イベントを実装する方法を紹介します。

2.1 リアルタイム検索

実際の開発では、通常、入力ボックスにリアルタイム検索機能を実装する必要があります。ユーザー リスト ページがあり、ユーザーがキーワードを入力した後、対応するユーザー リストをリアルタイムで検索する必要があるとします。以下は、watch に基づいてリアルタイム検索を実装するサンプル コードです。

<template>
  <div>
    <input type="text" v-model="keyword" />
    <ul>
      <li v-for="user in filteredUsers">{{user.name}}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data () {
      return {
        keyword: '',
        users: [
          {name: 'Tom'},
          {name: 'Jerry'},
          {name: 'Alice'},
          {name: 'Bob'}
        ]
      }
    },
    computed: {
      filteredUsers: function () {
        return this.users.filter(user => user.name.indexOf(this.keyword) !== -1)
      }
    },
  }
</script>
ログイン後にコピー

この例では、watch を使用してキーワード属性の変更を監視し、変更時に filteredUsers 属性を再計算することで、実際の検索を実現します。 -タイムサーチ機能。この方法は実際のフロントエンド開発に非常に簡単に適用できます。

2.2 フォームの検証

フォーム ページを開発する場合、多くの場合、ユーザーが入力したコンテンツを検証し、対応するプロンプト情報を提供する必要があります。以下は、computed に基づいてフォーム検証を実装するサンプル コードです。

<template>
  <div>
    <input type="text" v-model="username" />
    <div v-if="isValidUsername">{{username}} is valid</div>
    <div v-else>{{username}} is invalid</div>
  </div>
</template>

<script>
  export default {
    data () {
      return {
        username: ''
      }
    },
    computed: {
      isValidUsername: function () {
        return this.username.length >= 6
      }
    },
  }
</script>
ログイン後にコピー

この例では、computed を通じて isValidUsername 属性の値を計算し、値が変更されたときに対応するビューを更新します。この方法では、単純なコードを通じてフォーム検証を実装し、ユーザーにわかりやすいプロンプトを提供できます。

  1. 概要

値が変化したときにイベントをトリガーすることは、Vue フレームワークの非常に重要な機能の 1 つです。データの変化を監視することで、データの動的な表示を簡単に実現できます。フロントエンド ページと対話します。実際のアプリケーションでは、特定のシナリオに応じて適切な監視方法を選択し、コンポーネントの特性に基づいてコード実装を最適化する必要があります。同時に、リスナーの過度の使用によって引き起こされるパフォーマンスの問題を回避するために、リスナーのパフォーマンスへの影響にも注意を払う必要があります。

以上がvue 値変更トリガーイベントについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート