使用 Vue Router 的 <router-link
> 拼接参数时报错,页面无法正常解析出来。
错误示范:
<router-link :to="/Detail?type=" + item.type + "&status=" + item.status >
...
</router-link>
正确写法:
<router-link :to="{path: 'Detail', query: { type: item.type , status: item.status}}">
...
</router-link>
下面是一些 to 的常用写法:
类型: string | Location
表示目标路由的链接。当被点击后,内部会立刻把 to
的值传到 router.push()
,所以这个值可以是一个字符串或者是描述目标位置的对象。
<!-- 字符串 -->
<router-link to="home">Home</router-link>
<!-- 渲染结果 -->
<a href="home">Home</a>
<!-- 使用 v-bind 的 JS 表达式 -->
<router-link v-bind:to="'home'">Home</router-link>
<!-- 不写 v-bind 也可以,就像绑定别的属性一样 -->
<router-link :to="'home'">Home</router-link>
<!-- 同上 -->
<router-link :to="{ path: 'home' }">Home</router-link>
<!-- 命名的路由 -->
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
<!-- 带查询参数,下面的结果为 /register?plan=private -->
<router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
声明:本文由w3h5原创,转载请注明出处:《Vue Router踩的坑,链接参数拼接报错的解决方法》 https://cloud.tencent.com/developer/article/1610689