天天看点

vue history模式与params的二三事

接手现在公司的公众号项目的时候,vue的路由一直用的hash模式,相安无事,后来为了做交互还是跟小程序搞嵌套还是干嘛我忘了,改成了history模式,问题就来了。。。

比如这个路由:

{

        path: '/readpdf/:id',

        name: 'readpdf',

        component: () =>

            import ('@/components/readpdf')

    },
           

看起来没问题吧,确实,在vue项目里跳转到它是没什么问题的,但是直接访问就不行了,我查了一下说是因为history模式不能支持这种params的写法了,会给认成另外一个层级。

那怎么办呢,只能用query了,在产品的催促下我匆匆忙忙地改成了:

{

        path: '/readpdf',

        name: 'readpdf',

        component: () =>

            import ('@/components/readpdf')

    },
           

然后用query去传递参数。在我本地看没问题,传到服务器上就找不到这个页面。

给我整懵逼了,咋回事啊,没问题啊?

仔细看了一下,其他路由的引入路径后面都有.vue,这个没有,难道就是这个的问题?

果然,加上就行了。

看来还是我学艺不精啊。mark一下,省得以后忘记。