ホームページ ウェブフロントエンド uni-app uniapp コンポーネントを動的に非表示および表示する方法

uniapp コンポーネントを動的に非表示および表示する方法

Apr 23, 2023 am 09:12 AM

モバイル アプリケーションの継続的な開発に伴い、開発者はリッチ ユーザー インターフェイスを構築する際に、さまざまなコンポーネントを動的に非表示にしたり表示したりできる必要があります。 uniapp では、動的プロパティ バインディングと vue コンポーネントの条件付きレンダリングを使用して、この目標を達成できます。この記事では、この機能を実現するさまざまな方法とその長所と短所について説明します。

まず、最も単純で直接的な方法、v-show コマンドを使用する方法を見てみましょう。 v-show ディレクティブの機能は、式の値に基づいて要素が表示されるかどうかを決定することです。式が true と評価されると要素は表示され、それ以外の場合は要素は非表示になります。

uniapp では、v-show ディレクティブの使用は非常に簡単で、非表示または表示する必要があるコンポーネントにそれを追加し、その値をブール変数に設定するだけです。 v-show ディレクティブを使用してボタンを非表示または表示する例を次に示します。

<template>
  <button v-show="showBtn">点击我</button>
</template>

<script>
export default {
  data() {
    return {
      showBtn: true  // 默认显示按钮
    }
  },
  methods: {
    hideBtn() {
      this.showBtn = false;  // 隐藏按钮
    },
    showBtn() {
      this.showBtn = true;   // 显示按钮
    }
  }
}
</script>
ログイン後にコピー

上の例では、ボタンに v-show ディレクティブを使用し、その値をデータ プロパティ showBtn にバインドしました。 。 showBtn の値が true の場合、ボタンは表示され、showBtn の値が false の場合、ボタンは非表示になります。メソッド HideBtn および showBtn を呼び出すことにより、showBtn の値を動的に変更してボタンを非表示にしたり表示したりすることができます。

v-show ディレクティブの利点は、実際に DOM から要素を削除するのではなく、要素をドキュメント内に保持し、CSS によって非表示にするだけであることです。これは、要素を再表示する必要がある場合、要素の状態が保持されることを意味します。ただし、v-show ディレクティブの欠点は、要素が更新されるたびに DOM 操作が必要となり、パフォーマンスに影響を与える可能性があることです。

要素を表示または非表示にする 2 番目の方法は、v-if ディレクティブを使用することです。 v-show ディレクティブとは異なり、v-if ディレクティブは式の値に基づいて要素が DOM に存在するかどうかを決定します。式が true と評価されると、要素は DOM 内に存在しますが、それ以外の場合、要素は DOM から削除されます。

uniapp では、v-if 命令の使用も非常に簡単です。非表示または表示する必要があるコンポーネントにそれを追加し、その値をブール変数に設定するだけです。 v-if ディレクティブを使用してボタンを非表示または表示する例を次に示します。

<template>
  <button v-if="showBtn" @click="hideBtn">点击我</button>
</template>

<script>
export default {
  data() {
    return {
      showBtn: true  // 默认显示按钮
    }
  },
  methods: {
    hideBtn() {
      this.showBtn = false;  // 隐藏按钮
    },
    showBtn() {
      this.showBtn = true;   // 显示按钮
    }
  }
}
</script>
ログイン後にコピー

上の例では、ボタンに v-if ディレクティブを使用し、その値をデータ プロパティ showBtn にバインドしました。 。 showBtn の値が true の場合、ボタンは DOM に存在し、showBtn の値が false の場合、ボタンは DOM から削除されます。メソッド HideBtn および showBtn を呼び出すことにより、showBtn の値を動的に変更してボタンを非表示にしたり表示したりすることができます。

v-if ディレクティブの利点は、要素が更新されるたびに必要な DOM 操作のみを実行するため、パフォーマンスへの影響が少ないことです。ただし、v-if ディレクティブの欠点は、要素が DOM から削除されると、この要素の状態も削除されることです。要素を再表示する必要がある場合は、要素とその状態を再作成する必要があります。パフォーマンスに影響を与える可能性があります。

最後に、要素を表示および非表示にする 3 番目の方法を見てみましょう。v-bind 命令を使用して、要素のクラスを動的に変更します。要素のクラスを変更すると、要素のスタイルを変更でき、それによって要素を非表示にしたり表示したりできます。

uniapp では、v-bind ディレクティブを使用して動的クラスをコンポーネントにバインドできます。式の値が true の場合、コンポーネントはこのクラスを追加し、それ以外の場合、コンポーネントはこのクラスを削除します。以下は、v-bind ディレクティブを使用してボタンを非表示にしたり表示したりする例です。

<template>
  <button :class="{ &#39;hidden&#39;: !showBtn }" @click="hideBtn">点击我</button>
</template>

<style>
.hidden {
  display: none;
}
</style>

<script>
export default {
  data() {
    return {
      showBtn: true  // 默认显示按钮
    }
  },
  methods: {
    hideBtn() {
      this.showBtn = false;  // 隐藏按钮
    },
    showBtn() {
      this.showBtn = true;   // 显示按钮
    }
  }
}
</script>
ログイン後にコピー

上の例では、v-bind ディレクティブを使用して、非表示の動的クラスをボタンにバインドします。 showBtn の値が false の場合、このクラスがボタンに追加されてボタンが非表示になり、showBtn の値が true の場合、このクラスが削除されてボタンが表示されます。同時に、スタイル シートで .hidden クラスを定義し、要素の非表示と表示を行うボタンを「display: none」に設定する必要があります。

v-show ディレクティブとは異なり、v-bind ディレクティブを使用する利点は、要素の表示状態を変更するだけでなく、要素のクラスを変更することで、より多くのスタイル変更を実現できることです。欠点は、要素のスタイルを設定するために CSS を使用する必要があり、パフォーマンスに影響を与える可能性があることです。

要約すると、要素を非表示にしたり表示したりする方法はたくさんあります。uniapp では、v-show 命令、v-if 命令を選択するか、v-bind 命令を使用して要素のクラスを動的に変更できます。要素。各方法には独自の長所と短所があり、特定のニーズやシナリオに応じて最適な方法を選択する必要があります。

以上がuniapp コンポーネントを動的に非表示および表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Uni-Appのソーシャル共有APIを使用するにはどうすればよいですか? Uni-Appのソーシャル共有APIを使用するにはどうすればよいですか? Mar 13, 2025 pm 06:30 PM

この記事では、ソーシャル共有をUni.share APIを使用してUni-Appプロジェクトに統合し、WeChatやWeiboなどのプラットフォーム全体でセットアップ、構成、テストをカバーする方法を詳しく説明しています。

Uni-APPでプレ前セッサー(SASS、LESS)を使用するにはどうすればよいですか? Uni-APPでプレ前セッサー(SASS、LESS)を使用するにはどうすればよいですか? Mar 18, 2025 pm 12:20 PM

記事では、UNI-APPでSASSおよびPREPROCESSORSを使用して、セットアップ、利点、および二重使用法を詳細に使用することについて説明します。主な焦点は構成と利点にあります。[159文字]

Uni-AppのアニメーションAPIを使用するにはどうすればよいですか? Uni-AppのアニメーションAPIを使用するにはどうすればよいですか? Mar 18, 2025 pm 12:21 PM

この記事では、Uni-AppのアニメーションAPIの使用方法、アニメーション、キー関数、およびアニメーションのタイミングを結合および制御する方法を作成および適用する手順を詳細に説明します。

UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? Mar 27, 2025 pm 04:59 PM

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

Uniappアプリケーションパッケージのサイズをどのように削減できますか? Uniappアプリケーションパッケージのサイズをどのように削減できますか? Mar 27, 2025 pm 04:45 PM

この記事では、コードの最適化、リソース管理、コード分割や怠zyなロードなどの手法に焦点を当てたUniappパッケージサイズを削減する戦略について説明します。

uni-appのストレージAPI(uni.setstorage、uni.getStorage)を使用するにはどうすればよいですか? uni-appのストレージAPI(uni.setstorage、uni.getStorage)を使用するにはどうすればよいですか? Mar 18, 2025 pm 12:22 PM

この記事では、ローカルデータ管理のためにUni-AppのストレージAPI(uni.setstorage、uni.getStorage)を使用する方法について説明し、ベストプラクティス、トラブルシューティング、および効果的な使用のための制限と考慮事項について説明します。

UNI-APPプロジェクトのファイル構造は何ですか? UNI-APPプロジェクトのファイル構造は何ですか? Mar 14, 2025 pm 06:55 PM

この記事は、Uni-APPプロジェクトのファイル構造を詳しく説明し、一般的な、コンポーネント、ページ、静的、ユニクロードなどの主要なディレクトリ、およびapp.vue、main.js、manifest.json、pages.json、uni.scssなどの重要なファイルを説明します。これがどのようにoです

UNIAPP開発に利用できるデバッグツールは何ですか? UNIAPP開発に利用できるデバッグツールは何ですか? Mar 27, 2025 pm 05:05 PM

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

See all articles