目次
{{message}}
ホームページ ウェブフロントエンド Vue.js Vue の計算とメソッドの違いは何ですか?

Vue の計算とメソッドの違いは何ですか?

Sep 25, 2020 pm 03:43 PM
computed method vue

この記事では、Vue の計算とメソッドの違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

Vue の計算とメソッドの違いは何ですか?

1. 計算とメソッドの 2 つの主要な違い

公式ドキュメントでは、最も重要な違いが強調されています。 computed とメソッドの間は 2 つのポイントです

  • computed はプロパティ呼び出しですが、メソッドは関数呼び出しです

  • computed にはキャッシュ機能がありますが、メソッドではありません

OK、具体的な例を見てみましょう

<!--HTML部分-->
<div id="app">
    <h1 id="message">{{message}}</h1>
    <p class="test1">{{methodTest}}</p>
    <p class="test2-1">{{methodTest()}}</p>
    <p class="test2-2">{{methodTest()}}</p>
    <p class="test2-3">{{methodTest()}}</p>
    <p class="test3-1">{{computedTest}}</p>
    <p class="test3-2">{{computedTest}}</p>
</div>
<!--script部分-->
let vm = new Vue({
    el: &#39;#app&#39;,
    data: {
        message: &#39;我是消息,&#39;
    },
    methods: {
        methodTest() {
            return this.message + &#39;现在我用的是methods&#39;
        }
    },
    computed: {
        computedTest() {
            return this.message + &#39;现在我用的是computed&#39;
        }
    }
})
ログイン後にコピー

#2. 計算された属性の呼び出し

注意深い友人は、 HTML 補間

  • では、computed によって定義されたメソッドを属性アクセスの形式で呼び出します、{{computedTest}}

  • しかしメソッド {{methodTest()}} などの定義されたメソッドを呼び出すには () を追加する必要があります。そうしないと、次の図に示すように、ビューには test1 が表示されます。

#3. computed のキャッシュ関数

Vue の計算とメソッドの違いは何ですか?

まず第一に、キャッシュが何に使用されるのかを理解する必要があります。

誰もが知っている HTTP キャッシュと比較すると、その中心的な機能は、サーバー上で更新されていないリソースを再利用し、不必要なリクエストを回避し、ユーザー エクスペリエンスを最適化することです。

同じことです。計算済みの場合は true 同じ:

上記の例では、メソッドによって定義されたメソッドが関数呼び出しの形式でアクセスされ、test2-1、test2-2、test2-3 が MethodTest メソッドを 3 回繰り返し実行します。繰り返しになりますが、methodTest の戻り値が 1,000 個必要になるシナリオが発生した場合、必然的に大量の無駄が発生することは間違いありません。

さらに恐ろしいのは、message の値を変更すると、その後、これら 1,000 の各メソッドTest メソッドが再計算されます。 。 。 。

したがって、公式ドキュメントでは、複雑なロジックでは、計算されたプロパティを使用する必要があることを繰り返し強調しています。

計算されたプロパティはデータ内のデータに依存し、関連する依存データが変更された場合にのみ

上記の例のように、Vue がインスタンス化されると、computed は計算を実行して値を返す computedTest メソッドを定義します。後続のコード記述では、computedTest メソッドがメッセージ データに依存する限り、つまり、test3-1 と test3-2 は、computedTest メソッドによる再計算の結果ではなく、戻り値を直接取得します。

これの利点も明らかです。同様に、1000 個の computedTest 戻り値が必要なシナリオに遭遇した場合、これによりメソッドに比べてメモリが大幅に節約されることは間違いありません

たとえmessage の値を変更すると、computedTest は 1 回だけ計算されます

4.computed のその他の手順

computed 実際には、次のようにすることができます。

    #computed の起源は重要な理由であり、テキスト補間のロジックが重くなりすぎて保守が困難になるのを防ぐためです。
  • 関連する推奨事項:

2020 フロントエンド Vue インタビューの質問の概要 (回答付き)


vue チュートリアル 推奨: 2020 年の最新の vue.js ビデオ チュートリアル 5 選

プログラミング関連の知識の詳細については、こちらをご覧ください:

プログラミング入門 ! !

以上がVue の計算とメソッドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VUEのボタンに関数を追加する方法 VUEのボタンに関数を追加する方法 Apr 08, 2025 am 08:51 AM

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

VueでWatchの使用方法 VueでWatchの使用方法 Apr 07, 2025 pm 11:36 PM

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsでJSファイルを参照する方法 vue.jsでJSファイルを参照する方法 Apr 07, 2025 pm 11:27 PM

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue Multi-Page開発とはどういう意味ですか? Vue Multi-Page開発とはどういう意味ですか? Apr 07, 2025 pm 11:57 PM

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

Vueによる前のページに戻る方法 Vueによる前のページに戻る方法 Apr 07, 2025 pm 11:30 PM

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vueのバージョンを照会する方法 Vueのバージョンを照会する方法 Apr 07, 2025 pm 11:24 PM

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

Function Intercept Vueの使用方法 Function Intercept Vueの使用方法 Apr 08, 2025 am 06:51 AM

VUEの関数傍受は、指定された期間内に関数が呼び出され、パフォーマンスの問題を防ぐ回数を制限するために使用される手法です。実装方法は次のとおりです。LodashLibrary:Import {Debounce}から「Lodash」からインポート。 debounce関数を使用して、インターセプト関数を作成します。インターセプト関数を呼び出すと、制御関数は500ミリ秒でせいぜい1回呼び出されます。

See all articles