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メソッドまたはストアドプロシージャに似た機能を実装します

推薦する

複雑なウェブサイトのナビゲーションを簡素化

<br />ナビゲーション設計は構造設計における主要なタスクの 1 つです。ソフトウェア...

MySQL 権限制御の詳細分析

目次1. グローバルレベル2. データベースレベル3. 表面レベル4. 列レベルの権限5. サブルー...

HTMLの基礎を詳しく解説(第2部)

1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...

CentOS7でルートパスワードをリセットする方法

レンガを移動するプロセスでは、さまざまな環境および構成の問題があり、毎回異なるエラーが発生します。 ...

浮遊する雲のアニメーションを実現するCSS3

操作効果 html <ヘッド> <メタ文字セット='UTF-8'&...

MySQLチュートリアルDMLデータ操作言語の例の詳細な説明

目次1. データ操作言語 (DML) 2. データを追加する(挿入) 3. 既存のテーブルをコピーし...

Linux Centos8 CA証明書作成チュートリアル

必要なファイルをインストールする Yum インストール openssl-* -yデータベースインデッ...

テーブルはセルとimg画像を結合してtd HTML全体を埋めます

ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...

MySql 8.0.11 のインストール プロセスと Navicat とのリンク時に発生する問題の概要

私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...

Dockerは単一のイメージを使用して複数のポートにマッピングします

必要:公式サイトのリソースサーバーは確かに1つのインスタンスでは使えず、複数のインスタンスを一緒に使...

webpack イメージを base64 に変換する例

url-loader をダウンロード 糸を追加 -D URLローダー モジュール: { ルール: {...

TypeScript における列挙型の理解と応用シナリオ

目次1. 何ですか2. 使用数値列挙文字列列挙異種列挙自然3. 応用シナリオ要約する1. 何ですか列...

Linux ネットワーク システムの紹介

目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...

DockerはRedis5.0をビルドし、データをマウントします

目次1. 永続データの簡単なマウント2. DockerFileでイメージをビルドし、設定ファイルを指...

MySQLに絵文字表現を保存する詳細な手順

原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...