vueで一部のループ値を非表示にする

王林
リリース: 2023-05-27 21:26:37
オリジナル
897 人が閲覧しました

Vue は、Web アプリケーションの開発で広く使用されている人気のある JavaScript フレームワークです。 Vueでは通常、レンダリングエラーを避けるためにループ内の一部の値を非表示にする必要がありますが、この記事ではこの機能をVueで実装する方法を紹介します。

1. v-if ディレクティブ

Vue で v-if ディレクティブを使用すると、要素を表示するか非表示にするかを制御できます。 v-if ディレクティブに条件を設定すると、その条件に基づいて要素を表示するかどうかを決定できます。ループ内で v-if ディレクティブを使用して、特定の要素を非表示にすることができます。

例:

<template>
  <div>
    <p v-for="item in list" v-if="item.show">{{item.text}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: [
        { text: 'item 1', show: true },
        { text: 'item 2', show: false },
        { text: 'item 3', show: true },
        { text: 'item 4', show: false }
      ]
    }
  }
}
</script>
ログイン後にコピー

上記のコードでは、v-for ディレクティブを使用してリスト内の各要素をループします。 v-if ディレクティブは、要素を表示する必要があるかどうかを決定するために使用されます。この例では、show 属性が true である要素のみが表示されます。

2. 計算された属性

v-if 命令を使用する場合、各要素を表示する必要があるかどうかを制御する属性を手動で追加する必要があります。ただし、リストのプロパティが固定されている場合は、Vue の計算プロパティを使用して、どの要素を表示するかを自動的に計算できます。

例:

<template>
  <div>
    <p v-for="item in showList">{{item.text}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: [
        { text: 'item 1', type: 'typeA' },
        { text: 'item 2', type: 'typeB' },
        { text: 'item 3', type: 'typeA' },
        { text: 'item 4', type: 'typeC' }
      ]
    }
  },
  computed: {
    showList() {
      return this.list.filter(item => item.type !== 'typeB')
    }
  }
}
</script>
ログイン後にコピー

この例では、計算属性 showList を使用して、type 属性が「typeB」である要素を除外し、それによってループ内の要素を非表示にするという目的を達成します。

3. メソッド

計算されたプロパティを使用することに加えて、メソッドを使用して要素の表示を動的に計算することもできます。

例:

<template>
  <div>
    <p v-for="item in list" v-if="shouldShow(item)">{{item.text}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: [
        { text: 'item 1', type: 'typeA' },
        { text: 'item 2', type: 'typeB' },
        { text: 'item 3', type: 'typeA' },
        { text: 'item 4', type: 'typeC' }
      ]
    }
  },
  methods: {
    shouldShow(item) {
      return item.type !== 'typeB'
    }
  }
}
</script>
ログイン後にコピー

この例では、 shouldShow メソッドを使用して要素を表示するかどうかを決定します。 v-for ディレクティブでは、ループする要素をメソッドに渡し、戻り値に基づいて要素を表示するかどうかを決定します。

4. 概要

Vue のループ内の要素を非表示にするには、通常、次の方法があります:

1. v-if 命令を使用して、要素を非表示にするかどうかを手動で制御します。という要素が表示されます。

2. 計算されたプロパティを使用して、どの要素を表示するかを動的に計算します。

3. メソッドを使用して、要素が表示されるかどうかを動的に計算します。

上記 3 つの方法にはそれぞれ長所と短所があるため、使用する場合は状況に応じて適切な方法を選択する必要があります。計算されたプロパティとメソッドは、大量のデータを処理するときにアプリケーションのパフォーマンスを向上させることが多いため、優先する必要があります。

以上がvueで一部のループ値を非表示にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート