UniAPP은 Android, iOS 및 웹 플랫폼을 포함한 여러 플랫폼에서 애플리케이션을 개발할 수 있는 크로스 플랫폼 애플리케이션 개발 프레임워크입니다. 그러나 일부 개발자에게는 문제가 발생합니다. 즉, 페이지가 숨겨지면 페이지가 자동으로 새로 고쳐집니다. 왜 이런거야?
UniAPP은 Vue.js를 기반으로 한 프레임워크입니다. Vue.js에서는 구성 요소가 숨겨지면 파괴되지 않고 다음에 필요할 때 직접 사용할 수 있도록 캐시됩니다. 이 메커니즘은 UniAPP에도 존재하므로 페이지가 숨겨지면 페이지가 파괴되지 않고 캐시됩니다.
이 메커니즘의 장점은 매번 구성 요소를 다시 만들 필요가 없기 때문에 애플리케이션의 성능을 향상시킬 수 있다는 것입니다. 그러나 페이지가 캐시되면 해당 데이터도 캐시된다는 단점이 있습니다. 이로 인해 페이지가 다시 표시될 때 데이터를 다시 가져오는 대신 이전에 캐시된 데이터가 사용됩니다.
이 문제를 해결하는 방법은 무엇입니까? 실제로는 매우 간단합니다. 페이지를 숨길 때 캐시를 수동으로 삭제하면 됩니다. UniAPP에서는 페이지 수명주기를 모니터링하여 이를 달성할 수 있습니다.
페이지 수명 주기에는 캐시를 지우는 데 사용할 수 있는 두 가지 방법, 즉 onHide와 onUnload가 있습니다. 페이지가 숨겨지면 onHide 메서드가 실행되고, 페이지가 삭제되면 onUnload 메서드가 실행됩니다. 따라서 이 두 가지 방법으로 캐시를 지우는 코드를 추가하면 됩니다.
구체적인 구현 방법은 다음과 같습니다.
export default { methods: { clearCache() { // 清除缓存代码 } }, onHide() { this.clearCache(); }, onUnload() { this.clearCache(); } }
예를 들어 데이터를 다시 가져오는 경우 코드는 다음과 같습니다.
clearCache() { // 发送请求,重新获取数据 uni.request({ url: 'https://example.com/data', success: res => { // 处理获取到的数据 } }); }
이렇게 하면 페이지가 숨겨지거나 삭제될 때마다 데이터를 다시 가져오므로 사용으로 인해 발생하는 문제를 방지할 수 있습니다. 캐시된 데이터.
요약하자면, UniAPP은 페이지가 숨겨져 있을 때 자동으로 캐시하며, 캐시하는 동안 페이지의 데이터도 캐시됩니다. 이로 인해 캐시된 데이터를 사용할 때 문제가 발생할 수 있습니다. 이 문제를 해결하려면 페이지 수명 주기 동안 캐시를 수동으로 지울 수 있습니다. 이는 onHide 및 onUnload 메소드에clearCache 메소드를 추가하여 달성됩니다. 이렇게 하면 페이지를 숨길 때 데이터 문제가 방지됩니다.
위 내용은 UniAPP 숨겨진 페이지가 새로 고쳐집니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!