uniappで要素の高さを取得する方法
uniapp を使用してプロジェクトを開発するプロセスでは、リスト項目の高さの動的計算、コンポーネントの最小高さの設定など、対応する操作やレイアウトを実行するために要素の高さを取得する必要があることがよくあります。では、uniapp で要素の高さを取得するにはどうすればよいでしょうか?
方法 1: uni.createComponent()
uniapp では、uni.createComponent() を使用してカスタム コンポーネントを動的に作成します。カスタム コンポーネントでは、カスタム コンポーネントのライフサイクル関数で uni.createSelectorQuery() メソッドを使用して、要素の高さ、幅などを含む要素ノードの情報を取得できます。
div 要素の高さの取得を例に挙げます。
カスタム コンポーネントの作成されたライフサイクル関数では、uni.createSelectorQuery() メソッドを使用して要素情報を取得できます。
<template> <div class="component"> <div class="content" ref="content"> 我是一个自定义组件 </div> </div> </template> <script> export default { created () { // 获取元素的信息 uni.createSelectorQuery().in(this).select('.content').boundingClientRect((rect) => { console.log('元素高度为:' + rect.height) }).exec() } } </script> <style> .component { width: 100%; height: 100%; } .content { width: 100px; height: 100px; background-color: red; } </style>
上記のコードでは、 ref を使用して div 要素の参照を取得し、作成されたライフサイクル関数で uni.createSelectorQuery() メソッドを使用して、要素情報を問い合わせます。このうち、select('.content') メソッドはクラスが content である要素をクエリすることを意味し、boundingClientRect() メソッドは要素のサイズ情報をクエリすることを意味し、コールバック関数で返される Rect は位置を含むオブジェクトであり、要素のサイズとその他の情報。
方法 2: uni.pageScrollTo()
場合によっては、ページ上の要素の高さを取得する必要があります。これは、uni.pageScrollTo() メソッドを使用して取得できます。具体的なコードは次のとおりです。
<template> <div class="component"> <div class="content" ref="content"> 我是一个自定义组件 </div> </div> </template> <script> export default { mounted () { // 获取页面中元素的高度 uni.pageScrollTo({ selector: '.content', success: (res) => { console.log('元素高度为:' + res[0].top) } }) } } </script> <style> .component { width: 100%; height: 100%; } .content { width: 100px; height: 100px; background-color: red; } </style>
上記のコードでは、実装されたライフサイクル関数が使用され、ページのレンダリングが完了した後に uni.pageScrollTo() メソッドが使用されます。 selector: '.content' は、クラスのコンテンツを持つ要素をクエリすることを意味します。success コールバック関数の res は要素情報を取得できます。res[0].top は要素とページの先頭の間の距離を意味します。
概要:
上記 2 つのメソッドは、前者はカスタム コンポーネントの要素の高さを取得するのに適しており、後者はページ上の要素の高さを取得するのに適しています。どちらにも独自の長所と短所があり、特定のシナリオに応じて選択できます。どのメソッドを使用する場合でも、要素の高さなどの情報を取得するには、対応するライフサイクル関数またはメソッド内にサイズ情報のコールバック関数を追加することに注意する必要があります。
以上がuniappで要素の高さを取得する方法の詳細内容です。詳細については、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)

ホットトピック









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

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

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

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。

怠zyな読み込みは、サイトのパフォーマンスを改善し、負荷時間とデータの使用量を削減するための非批判的なリソースを扱います。重要なプラクティスには、重要なコンテンツの優先順位付けや効率的なAPIの使用が含まれます。

この記事では、Uniappの複雑なデータ構造の管理について説明し、Singleton、Observer、Factory、Stateなどのパターンに焦点を当て、VuexおよびVue 3 Composition APIを使用してデータ状態の変更を処理するための戦略について説明します。

Uniappは、Manifest.jsonを介してグローバル構成を管理し、app.vueまたはapp.scssを介してスタイリングを管理し、変数とミキシンにuni.scssを使用します。ベストプラクティスには、SCS、モジュラースタイル、レスポンシブデザインの使用が含まれます。

Vue.jsから派生したUniappの計算プロパティは、リアクティブで再利用可能な、最適化されたデータ処理を提供することにより、開発を強化します。依存関係が変更されたときに自動的に更新され、パフォーマンスの利点を提供し、国家管理を簡素化します
