Home >Web Front-end >uni-app >What should I do if the jump paths in the uniapp component are different?
With the rapid development of mobile Internet, mobile application development has gradually become one of the priority areas for developers. Relatively speaking, today's applications not only need to be beautiful and smooth, but also have a better user experience. Therefore, developers also spend more time on details such as colors, animations, and interface styles, and like to use nested routing for management and calling.
When I was using uniapp to develop mobile applications recently, I encountered a problem with different jump paths in a component. I hope to share the solution with you here.
I use the uni-list
component in uniapp to display multiple contents in the list. When clicking on a certain content, I need to enter the specific details page. You can jump through navigateTo
. The jump logic is as follows:
uni.navigateTo({ url: '/pages/detail/detail?id=' + id });
where the detail
page has been created under the pages
folder. .
But when I jump in this way, I find that no matter which list page I am on, the url path of the detail
page after the jump is /pages/detail/ detail?id=
. In this case, when using uni.showModal
to return to the previous page, the previous list page cannot be returned correctly.
After analysis, this is because I used uni-simple-router
in the App.vue
folder for routing management , it needs to be set. Specifically, it is set in router.js
under the config
folder. Here, you also need to use navigateTo
to jump, but it should be noted that its path setting method is different from ordinary path setting.
You can solve this problem through the following two methods:
uni.navigateTo
This method is relatively simple. You only need to add the bindtap
or @click
event in the list
component:
<uni-list-item title="跳转详情页" arrow @click="redirectToDetail(item.id)"> </uni-list-item>
and then Add jump logic in methods
:
methods: { redirectToDetail(id) { uni.navigateTo({ url: '/pages/detail/detail?id=' + id }); } }
In this way, the redirectToDetail
method will be called in each page to jump to the specific page.
uni-simple-router
The prerequisite for using this method is that we have already used it## in App.vue
#uni-simple-router performs routing management and has configured
routes in
config.
methods of the
list component, you need to add the following method:
methods: { redirectToDetail(id) { uni.$router.push({ path: '/pages/detail/detail?id=' + id }); } }
$router.push is called here Method, the path attribute needs to fill in the complete path, including the folder name, file name and parameters. After jumping in this way, the path of each page will be different and you can return to the previous page correctly.
uni.navigateTo directly or
uni-simple-router, you need to pay attention to the way the path is set when jumping. In order to correctly jump to the page that needs to be displayed, and return to the previous page. The analysis and solution of problems can also better help developers understand the use and configuration of routing.
The above is the detailed content of What should I do if the jump paths in the uniapp component are different?. For more information, please follow other related articles on the PHP Chinese website!