VUE如何在翻页时将页数放到地址路径中?第一次进入页面由于规范问题无法填入`/:page`路由参数导致404。

列表有3页,进入要详情后再返回会回到第一页。
想做到点击第二页地址栏记录,这样返回时直接就是第二页的列表。

目前菜单由后端返回,路由中不能带页数。
看图,product_list这里就是他的路径,route文件配置,如果加上:page则会导致404。能不能给:id带上默认值?

{
    path: "/product/product_list/",
    name: 'product_list',
    component: product_list,
    props: true,
  },

图片描述

也尝试过在翻页时使用如下写法

this.$router.push({
        name: "product_lise",
        path: `/product/product_lise`,
        params: {
          page: pageNum,
        }
      });

触发后地址栏无变化

阅读 4.6k
4 个回答

看懂了,是要求页面路由需要支持可选参数吧?

加个问号
path: '/product/product_list/:page?'

传说中的高级匹配模式了解一下?

https://router.vuejs.org/zh/g...

path: '/product/product_list/:page?'

这样的话,可以同时匹配/product/product_list/product/product_list/1

routes: [

{
  path: '/',
  name: 'Home',
  component: Home,
  children: [
    {
      path: '/detail/:id',
      name: 'Detail',
      component: Detail
    },
  ]
}]

vue router 动态路由

带参路由就可以解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题