vue の計算プロパティと監視の違いは何ですか?
相違点: 1. 計算された属性は呼び出されたときにテンプレートでレンダリングされる必要があり、計算が依存するメタデータは変更されます。watch は呼び出されたときにメタデータを変更するだけで済みます。 2. 計算された属性はデフォルトで深い依存関係に設定され、監視はデフォルトで浅い観察に設定されます。 3. 計算された属性はフィルタリングに適していますが、非同期にすることはできません。watch は非同期操作や負荷の高い操作に適しています。
#computed##computed は計算プロパティです。データに基づいて計算されます。新しい計算結果を動的に表示する
計算されたプロパティは Vue インスタンスに追加されます。すべてのゲッターとセッターの this コンテキストは、計算されたプロパティを通じて Vue インスタンス
に自動的にバインドされます
呼び出す必要はありませんDOM で直接使用できます
基本的な例var vm = new Vue({
el: '#app',
data: {
message: 'hello'
},
template: `
<div>
<p>我是原始值: "{{ message }}"</p>
<p>我是计算属性的值: "{{ computedMessage}}"</p> // computed 在 DOM 里直接使用不需要调用
</div>
`,
computed: {
// 计算属性的 getter
computedMessage: function () {
// `this` 指向 vm 实例
return this.message.split('').reverse().join('')
}
}
})
私は元の値です: "Hello"
私は計算された属性の値です: "olleH "
計算された属性を使用しない場合、message.split('').reverse().join('') がテンプレートに直接書き込まれます。そうすると、テンプレートに宣言的なロジックが多すぎます。テンプレート自体が重くなりすぎます。特に、ページ内のデータを処理するために多数の複雑な論理式が使用される場合、
##そして、計算された属性の依存関係が変更されない場合、それはキャッシュになり、計算された値は再計算されません
##したがって、データを複雑なロジックを通じて取得する必要がある場合は、計算されたプロパティを使用することをお勧めしますwatch
オブジェクト。キーはデータに対応するデータ、値は対応するコールバック関数です。値は、メソッド名、またはオプションを含むオブジェクトにすることもできます。データ データが変更されると、コールバックが発生します。これには、val (変更されたデータ データ) と oldVal (元のデータ データ) の 2 つのパラメータがあります。)Vue インスタンスはインスタンス化時に $watch() を呼び出し、監視オブジェクトの各プロパティを走査します。
注:
基本的な例new Vue({ data: { n: 0, obj: { a: "a" } }, template: ` <div> <button @click="n += 1">n+1</button> <button @click="obj.a += 'hi'">obj.a + 'hi'</button> <button @click="obj = {a:'a'}">obj = 新对象</button> </div> `, watch: { n() { console.log("n 变了"); }, obj:{ handler: function (val, oldVal) { console.log("obj 变了") }, deep: true // 该属性设定在任何被侦听的对象的 property 改变时都要执行 handler 的回调,不论其被嵌套多深 }, "obj.a":{ handler: function (val, oldVal) { console.log("obj.a 变了") }, immediate: true // 该属性设定该回调将会在侦听开始之后被立即调用 } } }).$mount("#app");ログイン後にコピー
ウォッチャー関数を定義するためにアロー関数を使用しないでください。アロー関数には this がなく、this はその親関数を継承しますが、その親関数は window であるため、アロー関数はこのポイントに到達します。 Vue インスタンスではなくウィンドウに接続します
このオブジェクトのプロパティの変更を確認するかどうかをディープ制御します
- 即時はそれが最初であるかどうかを制御しますtime レンダリングはこの関数を実行することです
- vm.$watch() 使用法は watch コールバック
vm と似ています。 $watch(' データ属性名', fn, {ディープ: .., 即時: ..})
vm.$watch("n", function(val, newVal){ console.log("n 变了"); },{deep: true, immediate: true})
- vue 計算プロパティと watch
- の違い
計算されたプロパティとプロパティの検出
#プロパティ検出 (監視) | 最初の実行初めて実行されません |
メタデータの変更が必要なのは呼び出し時のみです | |
デフォルトの浅い観察 | |
非同期またはコストのかかる操作に適しています | |
データを監視する必要があり、データに対して操作を実行する必要がある場合は、watch |
##2020 フロントエンド vue インタビューの質問の概要 (回答付き)
vue チュートリアルの推奨事項: 最新の 5 つの vue.js ビデオ2020 年のチュートリアルの選択
プログラミング関連の知識については、プログラミング教育をご覧ください。 !
以上がvue の計算プロパティと監視の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

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

Vue.jsには配列とオブジェクトを通過するには3つの一般的な方法があります。V-Forディレクティブは、各要素をトラバースしてテンプレートをレンダリングするために使用されます。 V-BindディレクティブをV-Forで使用して、各要素の属性値を動的に設定できます。 .mapメソッドは、配列要素を新しい配列に変換できます。
