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

推薦する

Nodejs と Socket.IO を組み合わせて Websocket の即時通信を実現

目次WebSocketを使用する理由ソケット.ioオープンソースプロジェクト効果プレビューアプリイン...

複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

現在、Nginx は、Web サービスを提供するために、Windows ベースの IIS と Lin...

Node.js+expressメッセージボード機能実装例

目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

1 はじめに優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証する...

jsを使用してシンプルなカルーセル効果を実現する

この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...

nginx プロキシ ポート 80 からポート 443 への実装

nginx.conf設定ファイルは次のとおりです。 ユーザー nginx; ワーカープロセス 1; ...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

ウェブサイトデザインの経験 ウェブサイト構築におけるよくある間違いのまとめ

注意: 計画、設計、開発のいずれの場合でも、これらの間違いは避けなければなりません。 1. ナビゲー...

iview権限管理の実装

目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...

MySQLがファントムリードを解決する方法の詳細な説明

1. ファントムリーディングとは何ですか?トランザクションにおいて、複数のクエリの後に結果セットの数...

NodeJS は画像テキスト分割を実現します

この記事では、画像テキストセグメンテーションを実装するためのNodeJSの具体的なコードを参考までに...

WeChatアプレットは水平および垂直スクロールを実現

この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...

Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル

1. RTMP RTMP ストリーミング プロトコルは、Adobe が開発したリアルタイムのオーディ...

CSS の :focus-within の楽しさについて簡単に説明します

Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...