vue の計算プロパティとリスナーの実践的なプロジェクトの詳細な説明
今回は、Vue の計算プロパティとリスナーの実践プロジェクトについて詳しく説明します。Vue の計算プロパティとリスナーの実践プロジェクトの注意点を以下に示します。
計算されたプロパティ
テンプレート内の式は非常に便利ですが、単純な操作向けに設計されています。テンプレートにロジックを入れすぎると、テンプレートが太くなり、保守が困難になる可能性があります。例:
<p id="example"> {{ message.split('').reverse().join('') }} </p>
ここで、テンプレートは単純な宣言ロジックではなくなりました。ここで変数メッセージの反転された文字列を表示したいことがわかるまで、しばらく観察する必要があります。ここで反転した文字列をテンプレート内で複数回参照したい場合、対処がさらに難しくなります。
したがって、複雑なロジックの場合は、計算されたプロパティを使用する必要があります。
基本的な例
<p id="app"> {{fullName}} </p> var vm = new Vue({ el: '#app', data: { firstName: "王", lastName: "小智", age: 28 }, // 计算属性 computed: { fullName: function () { console.log("计算了一次") return this.firstName + " " + this.lastName } } })
結果:
Wang Xiaozhi
次に、ブラウザを通じて age 属性の値を変更し、ページを再レンダリングします:
ご覧のとおり、年齢値の計算属性 メソッドは呼び出されないため、lastName や firstName が変更されるなど、計算された属性の値が変更された場合、印刷結果はどうなりますか
ご覧のとおり、計算された属性が変更されると、印刷結果はどうなりますか? 、計算された属性の変更が再計算されます。
計算されたプロパティのキャッシュとメソッド
式の中でメソッドを呼び出すことで同じ効果を達成できることに気づいたかもしれません:
<p>Reversed message: "{{ fullName() }}"</p> // 在组件中 methods: { fullName: function () { console.log("计算了一次") return this.firstName + " " + this.lastName; } }
Result:
Wang Xiaozhi
上記も参照して、以下を参照してください。プロセッサは age 属性の値を変更し、ページの再レンダリングを許可します。
ページが再レンダリングされる限り、メソッドは 1 回実行され、計算された属性は関連する依存関係が変更された場合にのみ再評価されます。
なぜキャッシュが必要なのでしょうか?巨大な配列を走査して多くの計算を行う必要がある、計算コストの高いプロパティ A があるとします。その場合、A に依存する他の計算されたプロパティがある可能性があります。キャッシュがなければ、必然的に A のゲッターを複数回実行することになります。キャッシュしたくない場合は、代わりにメソッドを使用してください。
計算プロパティとリスニング プロパティ
リスニング プロパティでも同じ効果を達成できることに気づいたかもしれません:
var vm = new Vue({ el: '#app', data: { firstName: "王", lastName: "小智", age: 28, fullName }, // 计算属性 watch: { firstName: function () { console.log("计算了一次"); this.fullNmae = this.firstName + this.lastName; }, lastName: function () { console.log("计算了一次") this.fullNmae = this.firstName + this.lastName; } } })
結果:
Wang Xiaozhi
また、上記を参照して、次のように変更します。ブラウザー age 属性の値により、ページを再レンダリングできます。
ご覧のとおり、fullname に関連しない変更については、fullName は変更されていません。計算された属性と同様に、キャッシュが存在します。関連する依存関係が変更された場合にのみ、それを再評価して、計算されたプロパティのバージョンと比較する方がはるかに優れていますね。
他のデータが変更されたときに変更する必要があるデータがある場合、特に
AngularJS を以前に使用したことがある場合は、ウォッチを悪用するのが簡単です。ただし、多くの場合、命令型の監視コールバックではなく、計算されたプロパティを使用する方が適切です。
この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上が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)

ホットトピック









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

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

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

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

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

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