UNI-APP은 자체 내비게이션 API를 기반으로 비교적 간단한 라우팅 시스템을 사용합니다. React Router 또는 Vue 라우터와 같은 기존 브라우저 기반 라우팅에 의존하는 대신 Uni-App은 내부적으로 내비게이션을 관리합니다. 이는 프레임 워크에서 제공하는 메소드를 사용하여 주로 내비게이션과 상호 작용한다는 것을 의미합니다. 핵심 메소드는 uni.navigateTo()
이며 새 페이지를 탐색 스택으로 밀어 넣습니다. 다른 방법으로는 uni.redirectTo()
있으며 현재 페이지, uni.reLaunch()
대체하여 모든 페이지를 닫고 새 페이지를 엽니 다. 스택에서 페이지를 팝업하는 uni.navigateBack()
. 이러한 방법은 비동기식이며 약속을 되돌려 성공 또는 실패를 처리 할 수 있습니다. 페이지 자체는 pages.json
파일에 정의되어 페이지를 나타내는 각 vue 구성 요소의 경로를 나열합니다. 예를 들어, pages/detail/detail.vue
에있는 '세부 사항'이라는 페이지로 이동하려면 uni.navigateTo({ url: '/pages/detail/detail' })
사용합니다. URL은 pages
디렉토리와 관련이 있습니다. 또한 UNI-APP은 탭 막대 탐색을 지원하므로 여러 하단 탐색 탭이있는 응용 프로그램을 만들 수 있으며 각각 다른 페이지 세트로 이어집니다. 이것은 pages.json
내에 구성되어 있으며 어떤 페이지가 어떤 탭에 속한 지 지정합니다.
몇 가지 모범 사례는 UNI-APP 항법의 유지 관리 및 사용자 경험을 향상시킵니다.
uni.navigateTo()
사용 : 대부분의 내비게이션 방법이 존재하지만 대부분의 시나리오에 대해 uni.navigateTo()
우선 순위를 정하십시오. 이것은 내비게이션 기록을 보존하여 사용자가 쉽게 돌아갈 수 있도록합니다. 현재 페이지를 완전히 교체하거나 내비게이션 스택을 지우려는 특정 상황에 대해서는 uni.redirectTo()
및 uni.reLaunch()
를 예약하십시오.uni.setStorageSync()
통해 전달되는 데이터 : 간단한 데이터 전송의 경우 URL 매개 변수를 사용하십시오. 그러나 더 크거나 민감한 데이터의 경우 uni.setStorageSync()
활용하여 페이지에 지속적으로 데이터를 저장하십시오. 성능과 URL 길이에 영향을 줄 수 있으므로 URL 매개 변수를 통해 직접 많은 양의 데이터를 전달하지 마십시오..then()
및 .catch()
사용하여 항상 내비게이션 호출 내에 오류 처리를 포함시킵니다. 이로 인해 응용 프로그램이 더욱 강력 해집니다.Uni-App은 내비게이션 중에 페이지간에 데이터를 전달하는 몇 가지 방법을 제공합니다.
uni.navigateTo({ url: '/pages/detail/detail?id=123&name=John' })
. 그런 다음 uni.getCurrentPages()[uni.getCurrentPages().length - 1].options
사용하여 대상 페이지 의이 매개 변수에 액세스 할 수 있습니다.data
옵션이 포함 된 uni.navigateTo()
: 보다 복잡한 데이터의 경우 uni.navigateTo()
내의 data
옵션을 통해 객체를 전달할 수 있습니다. 이 데이터는 대상 페이지의 onLoad
라이프 사이클 후크에서 액세스 할 수 있습니다. 예를 들면 : uni.navigateTo({ url: '/pages/detail/detail', data: { user: { id: 123, name: 'John' } } })
. this.$page.data
사용하여 자세한 페이지에서 데이터에 액세스하십시오.uni.setStorageSync()
: 여러 페이지에서 또는 내비게이션 후에도 액세스 할 수있는 영구 데이터의 경우 uni.setStorageSync()
사용하여 앱의 로컬 스토리지에 데이터를 저장하십시오. uni.getStorageSync()
사용하여 검색하십시오. 이 방법은 단일 탐색 인스턴스를 넘어 지속되어야하는 더 큰 데이터 세트 또는 데이터에 적합합니다. 데이터가 더 이상 필요하지 않을 때는 스토리지를 지우십시오.pages.json
의 경로를 두 번 확인하고 페이지의 파일 구조를 정확하게 반영하는지 확인하십시오. 오타 또는 불일치로 인해 내비게이션 오류가 발생할 수 있습니다.uni.reLaunch()
: 특정 시나리오에 유용하지만 uni.reLaunch()
Overusing하면 내비게이션 기록을 방해하고 다시 탐색하기가 어려워서 사용자 경험에 부정적인 영향을 줄 수 있습니다..then()
및 .catch()
사용하여 항상 잠재적 오류를 처리하십시오.uni.navigateTo()
의 data
옵션 또는 uni.setStorageSync()
와 같은 대체 방법을 사용하십시오.uni.setStorageSync()
사용할 때 데이터가 더 이상 필요하지 않은 경우 스토리지를 지우십시오. 스토리지에 불필요한 데이터를 남겨두면 불필요한 공간을 소비하고 잠재적으로 예상치 못한 행동으로 이어질 수 있습니다.위 내용은 UNI-APP에서 라우팅 및 탐색을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!