Vueの計算プロパティの詳細な説明

Vueの計算プロパティの詳細な説明

1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして考えることができます。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="アプリ">
    <!-- これは currentTime1() であり、括弧はメソッド呼び出し用であることに注意してください。-->
    <p>現在の時刻1: {{現在の時刻1()}}}</p>
    <!--ここでは currentTime1 は括弧で囲まれておらず、属性を通じて呼び出されます-->
    <p>現在の時刻2: {{現在の時刻2}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<スクリプト>
    var vm = 新しい Vue({
        el: "#app",
        データ: {
            メッセージ: 「hello vue!」
        },
        メソッド: {
            currentTime1: 関数() {
                // 現在のタイムスタンプを返します return Date.now();
            }
        },
        計算: {
            /*注: ここには計算プロパティがあり、メソッドと計算メソッドの名前は同じにすることはできません。
                   同じ名前のメソッドのみが呼び出されます*/
            currentTime2: 関数 () {
                このメッセージ;
                // 現在のタイムスタンプを返します return Date.now();
            }
        }
    });
</スクリプト>
</本文>
</html>

実行結果:

ここに画像の説明を挿入

一見すると違いがないように見えるかもしれません。

しかし、よく考えてみると、一方はメソッドであり、もう一方はプロパティです。

以下のように表示されます。

<div id="アプリ">
    <!-- これは currentTime1() であり、括弧はメソッド呼び出し用であることに注意してください。-->
    <p>現在の時刻1: {{現在の時刻1()}}}</p>
    <!--ここでは currentTime1 は括弧で囲まれておらず、属性を通じて呼び出されます-->
    <p>現在の時刻2: {{現在の時刻2}}</p>
</div>

重要なポイント: 属性は値を格納します。新しい値が入力されたときのみ変更されます。それ以外の場合は、キャッシュと同じになります。これを見てみましょう:

ここに画像の説明を挿入

説明すると:

1. 1 と 2 から、一方がメソッドで、もう一方がプロパティであることがわかります。メソッドを使用してプロパティを呼び出すことは絶対にできません。

2. 1 と 3 では、メソッド呼び出しの値が常に変化しているのに対し、属性呼び出しの値は変化していないことがわかります。これはキャッシュ メカニズムと同じです。

3. 3、4、5 から、関数内の値を変更すると、キャッシュ内の値を変更するのと同じになり、値が更新されることがわかります。

要約する

メソッドが呼び出されると、その都度計算を行う必要があります。計算処理があるため、必然的にシステムのオーバーヘッドが発生します。結果が頻繁に変わらない場合はどうなるでしょうか。この時点で、結果をキャッシュすることを検討できます。これは、コンピュータのプロパティを使用して簡単に実行できます。コンピュータ プロパティの主な機能は、システムのオーバーヘッドを節約するために、頻繁に変更されない計算結果をキャッシュすることです。 ----- 分かりましたか、友人たち?

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueは計算プロパティを使用して動的スライダーの作成を完了します
  • Vue の計算プロパティの紹介
  • Vue の計算プロパティ
  • Vue で計算プロパティを使用する際の知識ポイントのまとめ

<<:  Linux 負荷分散 LVS の詳細な理解

>>:  HTML でスクロールバーを使用する際のヒントを共有する

推薦する

1 つの記事で React における Redux の初期の使用を理解する

Redux はデータ状態管理プラグインです。React や Vue を使用してコンポーネント化された...

小さなプログラムが天井に張り付いてしまう問題を完璧に解決するためにposition:stickyを使用する方法

最近、あるプロジェクトのクライアントが、上部に 2 つのタブ メニューを配置することを要求しました。...

Centos7.5 は mysql5.7.24 バイナリ パッケージの展開をインストールします

1. 環境整備:オペレーティング システム: CentOS Linux リリース 7.5.1804 ...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

MySQL 自動インクリメント ID 枯渇の例

ディスプレイ定義IDテーブルに定義された自動増分IDが上限に達した場合、次のIDを申請する際に得られ...

Ubuntu 18.04 で MySQL のインストール時にパスワードが要求されない場合の解決方法

Ubuntu 1804 への MySQL 5.7 のインストールについて詳しく紹介します。 MySQ...

MySQL の日付型の単一行関数コードの詳細な説明

MySQL の日付型単一行関数: CURDATE()またはCURRENT_DATE()は現在の日付を...

v-html レンダリング コンポーネントの問題

以前 HTML を解析したことがあるので、今日は Vue ドラッグ アンド ドロップを使用して、Ku...

JavaScriptはクリックするとランダムなグラフィックを生成します

この記事では、クリックするとランダムグラフィックの生成を実現するJavaScriptの具体的なコード...

.Net Core を使用して数千万のデータを MySQL にインポートする手順

目次事前準備実施方法: 1. 単一のデータを挿入する2. マージデータ挿入3. MySqlBulkL...

Mysql5.7.14 インストールと設定方法操作グラフィックチュートリアル(パスワード問題解決)

この記事は主に、以前のインストール方法を使用して MySQL 5.7.14 をインストールするときに...

Vue.jsはElement-uiを使用してナビゲーションメニューを実装します

この記事では、Element-uiを使用してvue.jsでナビゲーションメニューを実装するための具体...

JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...

Linux で MySQL のスケジュールバックアップを実装する方法

実際のプロジェクトでは、緊急事態を防ぐためにデータベースを頻繁にバックアップする必要があります。しば...

Linux 論理ボリューム管理 (LVM) の使用法の概要

ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...