Vue について学ぶ - v-once、v- Clock、v-pre

1.v-once

v-once ディレクティブは、要素とコンポーネントを 1 回だけレンダリングします。要素、コンポーネント、およびそのすべての子ノードがこのディレクティブを使用している場合、その後のレンダリングは静的コンテンツとして扱われ、スキップされます。この機能を使用すると、更新のパフォーマンスを最適化できます。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-once指令</title>
</head>
<body>
   <div id="app">
   	<p> <input type="type" v-model="message"/></p>
   	<p v-once> 只渲染一次: {
    
    {
    
    message}} </p>
   	<p> 可以改变: {
    
    {
    
    message}} </p>
   </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        var app = new Vue({
    
    
            el:"#app",
            data: {
    
    
                message :"Hello"
            }
        })
    </script>
    
</body>
</html>

ブラウザで実行した場合の効果を図に示します。
ここに画像の説明を挿入
上記のサンプル コードを実行すると、ブラウザ ページが開かれると、 DOM 要素の {{ message}} が message 属性の値をレンダリングします。v-model でバインドされた入力ボックスが message 属性の値を再度変更しても、v-once 命令で追加されたタグは変更されません。

2.v-マント

v-cloak ディレクティブは、関連するインスタンスがコンパイル後に自動的に削除されるまで、DOM 要素上に残ります。v-cloak 命令の使用シナリオは非常に限定されており、ネットワークが遅い場合のデータ読み込みの問題を解決するためによく使用されます。ユーザーが Vue.js で実装された Web サイトにアクセスしたときに、ネットワークが遅延し、Web ページがまだ Vue.js を読み込んでいると、Vue のレンダリングが間に合わなくなり、ページには Vue のソース コードが表示されますが、v-cloak コマンドを使用するとこの問題を解決できます。

  <div id="app">
		{
    
    {
    
    message}}
   </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        var app = new Vue({
    
    
            el:"#app",
            data: {
    
    
                message :"hello world"
            }
        })
    </script>

ネットワークが遅い場合、ブラウザでページを開くと、Vue のソース コードがページに表示されます。図に示すように、Vue.js がロードされてコンパイルされるまで、通常のデータ コンテンツは表示されません。

ここに画像の説明を挿入
上記のコードを実行する際の問題を解決するには、DOM 要素に v-cloak 命令を追加し、属性セレクターを使用して、指定された DOM 要素の非表示スタイルを設定します。v-cloak 命令は DOM 要素に残すことができ、コンパイルが完了するまで自動的に削除されません。このようにして、Vue がコンパイルを完了する前に、指定された DOM 要素を非表示にすることができます。コンパイルが完了すると、CSS スタイルは DOM 要素に対して無効になります。

	<style>
		[v-clock] {
    
    
			display: none;
		}
	</style>
	
   <div id="app">
		{
    
    {
    
    message}}
   </div>

3.インフォー

v-pre ディレクティブは、この要素とその子要素のコンパイル プロセスをスキップするため、元の Mustache タグを表示するために使用できます。命令なしで多数のノードをスキップすると、コンパイルが高速化されます。コードは次のとおりです。

<span v-pre>{
    
    {
    
    this will not be compiled}}</span>

ブラウザで実行した場合の効果を図に示します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_45627039/article/details/131789480