> 웹 프론트엔드 > uni-app > uniapp에서 요소의 높이를 얻는 방법

uniapp에서 요소의 높이를 얻는 방법

PHPz
풀어 주다: 2023-04-20 15:45:22
원래의
16067명이 탐색했습니다.

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() 메소드는 해당 요소의 크기 정보를 조회한다는 의미이며, 콜백 함수에서 반환되는 ect는 위치를 포함하는 객체입니다. 요소의 크기 및 기타 정보.

방법 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'는 클래스 콘텐츠가 포함된 요소를 쿼리하는 것을 의미합니다. 성공 콜백 함수의 res는 요소 정보를 얻을 수 있습니다. 여기서 res[0].top은 요소와 페이지 상단 사이의 거리를 의미합니다.

요약:

위의 두 가지 방법 중 전자는 사용자 정의 구성 요소의 요소 높이를 가져오는 데 적합하고 후자는 페이지의 요소 높이를 가져오는 데 적합합니다. 둘 다 고유한 장점과 단점이 있으며 특정 시나리오에 따라 선택할 수 있습니다. 어떤 방법을 사용하든 요소의 높이 및 기타 정보를 얻기 위해서는 해당 수명주기 함수 또는 메서드 내에 크기 정보의 콜백 함수를 추가하는 데 주의가 필요합니다.

위 내용은 uniapp에서 요소의 높이를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿