VueJS路由器espace“&” char然后使查询参数失败

时间:2019-02-06 09:32:29

标签: javascript vue.js vuejs2 vue-router

我正在尝试为应用创建可共享的URI,正在使用vue路由器3。

问题是当我使用类似的路线访问我的应用程序时

localhost:8000/logs?param1=yeaa&amp%3Bparam2=yeaa2

此URI被vue路由器捕获,但转换为

router.query.param1 // it works
router.query.param2 // it fail and return undefined

然后,当我尝试使用

访问查询参数时
amp;param2

事实上,当我在Vue devtools中检查时,可以看到vue路由器认为第二个参数是$route path:"/logs" query:Object amp;param2:"yeaa2" param1:"yeaa" params:Object (empty) fullPath:"/logs?param1=yeaa&amp%3Bparam2=yeaa2" meta:Object (empty)

router-link

这有点无聊,我没有在vue路由器文档上找到是否有避免这种情况的选项/配置。

仅供参考,当我使用{ component: Log, path: '/logs', props: route => ({ oldQueryOptions: { absoluteTimeRangeFrom: route.query.absoluteTimeRangeFrom, absoluteTimeRangeTo: route.query.absoluteTimeRangeTo, query: route.query.query, rangeKeyword: route.query.rangeKeyword, relativeTimeRange: route.query.relativeTimeRange, type: route.query.type, }, }), }, 访问具有相同参数的相同URI时,此问题就消失了。

是否可以避免在vue路由器配置中(可能在文档中未充分了解)或使用普通JS进行这种字符转义?

如果不是,我认为这是vue路由器的问题。

编辑

我在哪里创建路线

getElementByID("msgs").innerHTML += ("<p>" + "{{data[-1]}}" + "<p>");

0 个答案:

没有答案