使用 Vue Router 的 <router-link> 拼接链接(URL)参数时报错,页面无法正常解析出来。
错误示范:
<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>
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/231443.html