ホームページ ウェブフロントエンド jsチュートリアル Vue.js で計算されたプロパティが計算されて watch(5)

Vue.js で計算されたプロパティが計算されて watch(5)

Dec 13, 2016 pm 04:33 PM

テンプレート内のバインド式は非常に便利ですが、実際には単純な操作にのみ使用されます。テンプレートはビューの構造を記述するために使用されます。テンプレートにロジックを入れすぎると、テンプレートが太くなり、保守が困難になる可能性があります。それが理由です Vue.js では、バインディング式を 1 つの式に制限します。複数の式のロジックが必要な場合は、**計算プロパティ**を使用する必要があります。

Vue インスタンスの計算された属性

<div class="test">    
<p>原始的信息{{message}}</p>   
<p>计算后的信息{{ComputedMessage}}</p>  
</div>
ログイン後にコピー

js コード

var myVue = new Vue({    
el: ".test",    
data: {      
message:12    
},    
computed:{      
ComputedMessage:function () {        
return this.message+10;      
}   
}  
});
ログイン後にコピー

インターフェイスには 12 と 22 が表示されます

上記のメソッドはバッファ実装の効果であり、この実装メソッドはバッファ サイズに応じて計算されます。関連する依存関係 (メッセージ) が変更された場合にのみ再評価されます。これは、メッセージが変更されない限り、ComputedMessage に複数回アクセスしても計算されたプロパティが再実行されないことを意味します。 。

計算された ComputedMessage プロパティは常にメッセージに依存します

関数

<div class="test">    
<p>原始的信息{{message}}</p>    
<p>计算后的信息{{MessageFunction()}}</p>  
</div>
ログイン後にコピー

js コード

var myVue = new Vue({    
el: ".test",    
data: {      
message:12    
},    
methods:{      
MessageFunction:function () {        
return this.message+10;      
}   
}  
});
ログイン後にコピー

を呼び出すことで同じ効果が得られます。得られる結果は上記の結果と同じですが、毎回再レンダリングされます思い出される。
したがって、上記の 2 つの方法を使用するときは、まずキャッシュを使用する必要があるかどうかを判断する必要があります

vue インスタンスの監視を使用してください

これは理解できません
しかし、計算された属性を使用する方が便利で高速です

<div class="test">   
<p>原始的信息{{fullName}}</p> 
</div>
ログイン後にコピー

js コード

var myVue = new Vue({   
el: ".test",   
data: {     
firstName:"fur",     
lastName:"bool"  
},   
computed:{     
fullName:function () {       
return this.firstName+this.lastName     
}   
} 
});
ログイン後にコピー

そして、デフォルトで利用可能な計算属性のセッターとゲッターを設定できます。

set と get の呼び出しプロセスを示します

<div class="test">   
<p>原始的信息{{fullName}}</p>   
<button @click="fu">test</button> 
</div>
ログイン後にコピー

js コード

var myVue = new Vue({    
el: ".test",    
data: {      
firstName:"fur",      
lastName:"bool",      
fullName:"sasas dsdsd dsds"   
},    
computed:{      
fullName:{        
get:function () {          
console.log("get")          
return this.firstName+this.lastName        
},        
set:function(value){          
var names=value.split(" ");          
this.firstName=names[0];          
this.lastName=names[names.length-1];          
console.log("set");        
}     
 }    
 },    
 methods:{      
 fu:function () {        
 myVue.fullName="sasas dsdsd dsds";        
 console.log(myVue.firstName);   //sasas        
 console.log(myVue.lastName);  //dsds      
 }    
 } 
  });
ログイン後にコピー

は最初に get を出力します

fullName に値を割り当てるボタンをクリックすると、最初に set を呼び出し、次に get メソッドを呼び出します。

カスタマイズされたウォッチャー

計算されたプロパティはほとんどの場合に非常に適していますが、場合によってはウォッチャーをカスタマイズする必要があります。これは、データの変更に応答するときに非同期操作やその他の操作を実行したいためです。これは非常に便利です

上記は、計算された Vue.js の計算プロパティです。詳細については、PHP の中国語 Web サイト ( www .php.cn)!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ユーザーがまれに発生する不具合: Samsung Watch スマートウォッチで突然白い画面の問題が発生する ユーザーがまれに発生する不具合: Samsung Watch スマートウォッチで突然白い画面の問題が発生する Apr 03, 2024 am 08:13 AM

スマートフォンの画面に緑色の線が表示されるというトラブルに遭遇したことがある方もいると思いますし、見たことはなくても、関連する写真をインターネット上で見たことがあるはずです。では、スマートウォッチの画面が白くなってしまう状況に遭遇したことはありますか? CNMOは4月2日、海外メディアから、Redditユーザーがサムスンウォッチシリーズのスマートウォッチの画面が白くなっている写真をソーシャルプラットフォームで共有したことを知った。ユーザーは、「出発時に充電していましたが、戻ってきたらこのようになっていました。再起動しようとしましたが、再起動プロセス中も画面はまだこのままでした。」Samsung Watch スマートウォッチの画面が白くなりました。 Reddit ユーザーはスマート ウォッチを指定していません。特定のモデルです。しかし、写真から判断すると、Samsung Watch5のはずです。以前、別のRedditユーザーも報告しました

Ace コード エディターを Vue プロジェクトに統合する方法の詳細な図による説明 Ace コード エディターを Vue プロジェクトに統合する方法の詳細な図による説明 Apr 24, 2023 am 10:52 AM

Ace は、JavaScript で書かれた埋め込み可能なコード エディターです。 Sublime、Vim、TextMate などのネイティブ エディターの機能とパフォーマンスに匹敵します。あらゆる Web ページや JavaScript アプリケーションに簡単に埋め込むことができます。 Ace は Cloud9 IDE のメイン エディタとして維持されており、Mozilla Skywriter (Bespin) プロジェクトの後継です。

Vue3 で単体テストを作成する方法を調べる Vue3 で単体テストを作成する方法を調べる Apr 25, 2023 pm 07:41 PM

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

JSX 構文と Vue のテンプレート構文の簡単な比較 (利点と欠点の分析) JSX 構文と Vue のテンプレート構文の簡単な比較 (利点と欠点の分析) Mar 23, 2023 pm 07:53 PM

Vue.js では、開発者は、JSX 構文とテンプレート構文という 2 つの異なる構文を使用してユーザー インターフェイスを作成できます。どちらの構文にもそれぞれ長所と短所があるので、それらの違い、長所と短所について説明します。

vue がファイル スライス アップロードを実装する方法の簡単な分析 vue がファイル スライス アップロードを実装する方法の簡単な分析 Mar 24, 2023 pm 07:40 PM

実際の開発プロジェクトのプロセスでは、比較的大きなファイルをアップロードする必要がある場合がありますが、その場合はアップロードが比較的遅くなり、バックグラウンドでフロントエンドがファイルのスライスをアップロードする必要がある場合があります。これは非常に簡単です。たとえば、1Aギガバイトのファイル ストリームはいくつかの小さなファイル ストリームに分割され、インターフェイスはそれぞれの小さなファイル ストリームを配信するように要求されます。

vue3 で Amap API を使用する方法について話しましょう vue3 で Amap API を使用する方法について話しましょう Mar 09, 2023 pm 07:22 PM

Amap を使用したとき、公式から多くのケースやデモを勧められましたが、これらのケースはすべてネイティブ メソッドを使用してアクセスしており、vue や React のデモは提供されていませんでした。vue2 アクセスについてはオンラインで多くの人が書いていますが、この記事では、 vue3 が一般的に使用される Amap API をどのように使用するかを見ていきます。皆さんのお役に立てれば幸いです。

chatgpt のタイプライター効果を実現する vue3 の詳細な例 chatgpt のタイプライター効果を実現する vue3 の詳細な例 Apr 18, 2023 pm 03:40 PM

chatgpt ミラー サイトで作業していたときに、一部のミラー サイトにはタイプライター カーソル効果がなく、テキスト出力のみがあることがわかりました。とにかくやりたいです。そこで私はそれを注意深く研究し、タイプライターとカーソルの効果を認識しました。ここで、私の解決策とレンダリングを共有します~

vue3 データが watch/watchEffect を監視する方法 vue3 データが watch/watchEffect を監視する方法 May 12, 2023 pm 06:31 PM

リスナーの機能は、リアクティブ状態が変化するたびにトリガーされることは誰もが知っています。組み合わせた API では、watch() 関数と watchEffect() 関数を使用できます。リアクティブ状態を変更すると、次の時点でトリガーされる可能性があります。 Vue コンポーネントの更新とリスナー コールバックをトリガーします。デフォルトでは、ユーザー作成のリスナー コールバックは、Vue コンポーネントが更新される前に呼び出されます。これは、リスナー コールバックでアクセスする DOM が、Vue によって更新される前の状態になることを意味します。では、どうすればそれらをうまく活用できるのか見てみましょう。それらの違いは何ですか? watch() 関数 watch は、ref をリッスンするなど、特定のデータ ソースをリッスンする必要があります。watch の最初のパラメータは次のとおりです。

See all articles