Home  >  Article  >  Web Front-end  >  What should I do if the jump paths in the uniapp component are different?

What should I do if the jump paths in the uniapp component are different?

PHPz
PHPzOriginal
2023-04-06 09:08:40843browse

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.

Problem Description

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.

Cause analysis

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.

Solution

You can solve this problem through the following two methods:

1. Directly use 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.

2. Use 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.

In the

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.


In short, whether you use

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn