Vue の計算プロパティとリスナーの使用の概要

Vue の計算プロパティとリスナーの使用の概要

1. 計算プロパティとリスナー

1.1 計算プロパティ

<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">   
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  </head>
  <本文>
    <div id="アプリ">
			<p>{{ メッセージ }}</p>
			<p>{{ 逆メッセージ }}</p>
    </div>
    <スクリプト>
      新しいVue({
        el: '#app',
        データ: {
					メッセージ: 'こんにちは'
        },
				計算: {					
					逆メッセージ: 関数 () {
						this.message.split('').reverse().join('') を返します
					}
					/*
					// 逆メッセージと同等: {
						得る(){
							this.message.split('').reverse().join('') を返します
						}
					}
					*/
				}
      });
    </スクリプト>
  </本文>
</html> 

説明: 計算プロパティで計算プロパティreversedMessageを定義しました。ここで提供される関数は、計算プロパティreversedMessageのゲッター関数として使用されます。

1.2 セッター

計算プロパティにはデフォルトではゲッターしかありませんが、セッターを提供することもできます。

<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">   
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  </head>
  <本文>
    <div id="アプリ">
			<p>{{ メッセージ }}</p>
			<p>{{ 逆メッセージ }}</p>
			<input type="text" v-model="reversedMessage" />
    </div>
    <スクリプト>
      新しいVue({
        el: '#app',
        データ: {
					メッセージ: 'こんにちは'
        },
				計算: {
					逆メッセージ: {
						得る(){
							this.message.split('').reverse().join('') を返します
						},
						設定(値){
							this.message = value.split('').reverse().join('')
						}
					}
				}
      });
    </スクリプト>
  </本文>
</html>

1.3 キャッシュ

<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">   
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  </head>
  <本文>
    <div id="アプリ">
			<p>{{ メッセージ }}</p>
			<p>{{ 逆メッセージ }}</p>
			<p>{{ 逆メッセージ1() }}</p>
    </div>
    <スクリプト>
      新しいVue({
        el: '#app',
        データ: {
					メッセージ: 'こんにちは'
        },
				メソッド: {
					逆メッセージ1: 関数(){
						this.message.split('').reverse().join('') を返します
					}
				},
				計算: {					
					逆メッセージ: 関数 () {
						this.message.split('').reverse().join('') を返します
					}
				}
      });
    </スクリプト>
  </本文>
</html> 

注: 計算プロパティとメソッドの両方で同じ効果が得られますが、計算プロパティはリアクティブ依存関係に基づいてキャッシュされます。関連するリアクティブ依存関係が変更された場合にのみ再評価されます。

1.4 リスニング特性

Vue インスタンスの watch プロパティを通じてデータの変更を監視できます。

<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">   
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  </head>
  <本文>
    <div id="アプリ">
			<p>{{ メッセージ }}</p>
			<button @click="reverse=!reverse">反転</button>
    </div>
    <スクリプト>
      新しいVue({
        el: '#app',
        データ: {
					メッセージ: 'Vue'、
					逆: 偽
        },
				時計:
					// メッセージ: function(newVal, oldVal){
					逆: 関数(newVal){
						コンソールログ(新しい値)
						this.message = this.message.split('').reverse().join('')
					}
				},
      });
    </スクリプト>
  </本文>
</html>

インスタンス属性 vm.$watch を通じて同じ効果を実現できます。

<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">   
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
  </head>
  <本文>
    <div id="アプリ">
			<p>{{ メッセージ }}</p>
			<button @click="reverse=!reverse">反転</button>
    </div>
    <スクリプト>
      var vm = 新しい Vue({
        el: '#app',
        データ: {
					メッセージ: 'Vue'、
					逆: 偽
        }
      });
			
			// vm.$watch('reverse', 関数(newVal, oldVal) {
			vm.$watch('reverse', 関数(newVal) {
				コンソールログ(新しい値)
				this.message = this.message.split('').reverse().join('')
			});
    </スクリプト>
  </本文>
</html>

上記は、Vue の計算プロパティとリスナーの使用の概要の詳細内容です。Vue の計算プロパティとリスナーの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • vue3.0 のウォッチ リスナーの例の詳細な説明
  • Vue2 と Vue3 でウォッチ リスナーを使用する方法
  • Vue のリスナーの基本的な使用例
  • vueリスナーウォッチでこれを呼び出すときに未定義の問題を解決する
  • Vue 学習ノート: 計算プロパティとリスナーの使用
  • Vue 2.0 リスナーウォッチ属性コードの詳細な説明
  • Vue の基本リスナーの詳細な説明

<<:  UI を通じて Docker を管理する方法

>>:  MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

推薦する

Windows 環境での MYSQL5.7 設定ファイルの場所のグラフィカル分析

1. MYSQLインストールディレクトリ次のようにコードをコピーします。 select @@bas...

MySql インデックスの詳細な紹介と正しい使用方法

MySql インデックスの詳細な紹介と正しい使用方法1. はじめに:インデックスはクエリ速度に重大な...

MySQLオンラインログライブラリの移行例

最近の事例をお話ししましょう。オンライン Alibaba Cloud RDS 上のゲーム ログ ライ...

JavaScript での AOP プログラミングの基本実装

AOP の紹介AOP (アスペクト指向プログラミング) の主な機能は、コアビジネスロジックモジュール...

Hadoopカウンターとデータクリーニングの適用

データクリーニング (ETL)コアビジネスの MapReduce プログラムを実行する前に、まずデー...

MySQL 結合クエリ構文と例

接続クエリ:これは、2 つのクエリ (またはテーブル) の各行をペアで接続した結果です。つまり、1 ...

Dockerfile ビルド中に発生する「/bin/sh: pip: コマンドが見つかりません」という問題の解決方法

記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...

SELinux 入門

カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...

DD DT DLタグの使用例

通常は <ul><li> タグを使用しますが、dd タグと dt タグも便利...

Vueカスタムテーブル列実装プロセス記録

目次序文レンダリングsetTable コンポーネント使用結論序文フォームを使用して PC 側のプロジ...

React Router V6 のアップデート

目次ReactRouterV6 の変更1. <Switch> が <Routes&...

LinuxシステムでFuserコマンドを使用する方法

Fuser コマンドとは何ですか? fuser コマンドは、特定のファイル、ディレクトリ、またはソケ...

Vue3における非親子コンポーネント通信の詳細な説明

目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...

Linux 環境に mysql5.7.36 データベースをインストールするチュートリアル

ダウンロードアドレス: https://dev.mysql.com/downloads/mysql/...

JavaScript の for/of、for/in の詳細な紹介

目次JavaScriptでは、 forループを記述する一般的な方法がいくつかあります。最初の、そして...