vue.js - 错误:缺少必需的参数“id”Vue-router router-link
问题描述
我将 Laravel 8 与 Vue 3、vue-router、vue-loader 一起使用
在router/index.js
import { createRouter, createWebHistory } from 'vue-router'
import CategoryShow from '../components/category/CategoryShow'
import PostShow from '../components/post/PostShow'
const routes = [
{
path: '/categories/:id',
name: 'categories.show',
component: CategoryShow,
props: true
},
{
path: '/posts/:id',
name: 'posts.show',
component: PostShow,
props: true
},
]
export default createRouter({
history: createWebHistory(),
routes
})
在post/PostShow.vue
<router-link v-bind:to="{ name: 'categories.show', params: { id: post.category_id } }">
{{ post.category_name }}
</router-link>
它显示错误:
[Vue warn]: Unhandled error during execution of setup function
at <RouterLink to= {name: 'categories.show', params: {…}} >
Uncaught (in promise) Error: Missing required param "id"
但是当我v-if
像这样添加到这个路由器链接标签时:
<router-link v-if="typeof post.category_id !== 'undefined'"
v-bind:to="{ name: 'categories.show', params: { id: post.category_id } }">
{{ post.category_name }}
</router-link>
它神奇地起作用!
谁能解释一下?
解决方案
推荐阅读
- php - 如何在 laravel 中使用两个键更新一行?
- javascript - localStorage 以某种方式混淆了我所有的数字
- javascript - React - 嵌入式网站并检测点击的链接
- php - 在 WooCommerce 产品页面中显示自定义产品属性值
- flask - Flask SQLAlchemy 反向包含多对多查询
- python - Flask x Apscheduler - RuntimeError:RuntimeError:在应用程序上下文之外工作
- pdf - 是否可以从 Geoserver 打印地理空间 PDF?
- mule - 如何在 MUnit 测试中省略一个消息处理器?
- c++ - C ++对数组中的数字进行排序
- reactjs - 在wsl(zsh)上运行react项目时浏览器不会启动