


How to solve the problem that the uniapp page jumps with parameters but does not refresh
Apr 20, 2023 pm 01:55 PMWhen using uniapp to develop projects, we often encounter scenarios where we need to pass parameters and jump to the next page. However, when encountering a situation where the page needs to be refreshed, some developers find that the page does not refresh as expected.
The reason for this problem lies in the page jump mechanism of uniapp and the component update mechanism of the page. To address this problem, we need to know the following points:
- When the page jumps, the new page will not be completely refreshed, and the life cycle function will only be re-executed
In uniapp, page jump is implemented through methods such as uni.navigateTo
. When making a page jump, the new page will not refresh the entire page like in H5, but will only re-execute the life cycle function.
If you don’t know the life cycle function of uniapp, you can check [official document](https://uniapp.dcloud.io/frame?id=life cycle). Simply put, the life cycle functions in uniapp are onLoad
, onShow
, onReady
, onHide
and onUnload
, these functions respectively represent different states such as page loading, page display, page initial rendering completion, page hiding, and page unloading.
Therefore, if we need to update data after jumping to a new page, we should perform relevant operations in the onShow
life cycle function of the new page instead of expecting the page to be able to Auto Refresh.
- The mechanism of data update of page components
In uniapp, the components in the page have their own data update mechanism. If we need to refresh a component on the page, we need to manually trigger the this.$forceUpdate()
method of the component.
For example, in the onShow
life cycle function of the page, we need to update a list component in the page, which can be implemented like this:
onShow() { // 获取最新数据 const newData = getData(); // 更新组件数据 this.$refs.list.data = newData; // 强制刷新列表 this.$refs.list.$forceUpdate(); }
It should be noted that if If you need to update other properties of the component (such as styles, etc.), you need to bind variables to the component or use calculated properties.
Through the analysis of the above two points, we can draw a very important conclusion when developing uniapp pages: when making a page jump, you should not expect the page to refresh automatically, but should # in the new page ##onShowData update in life cycle function. At the same time, if you need to refresh a component, you need to manually trigger the
$forceUpdate() method of the component.
The above is the detailed content of How to solve the problem that the uniapp page jumps with parameters but does not refresh. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How do I handle local storage in uni-app?

How do I use uni-app's geolocation APIs?

How do I manage state in uni-app using Vuex or Pinia?

How do I make API requests and handle data in uni-app?

How do I use uni-app's social sharing APIs?

How to handle file encoding with UniApp download

How do I use uni-app's easycom feature for automatic component registration?
