作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个项目页面,当我点击一个项目时,我想转到该项目的项目详细信息页面。所以我正在使用动态路线。我作为参数传递了一个名称(将显示在 URL 上)和 Id(我用来去我的商店并获取项目,这个 Id 没有显示在 URL 上)。一切正常,问题是当我在项目详细信息页面中加载浏览器时,我只获取名称作为参数并且我无法获取 Id,因此我无法将 Id 与我的 vuex 匹配,因为没有 Id。
这是我在父级上的路由器链接
<router-link class="project__icon" :project="project" :to="{ name: 'projectDetail', params: {name: project.name.replace(' ', ''), id: project.id} }">
const projectId = this.$route.params.id;
this.project = this.$store.getters.getProject(projectId);
http://localhost:8080/project/myprojectName
{
path: '/project/:name',
name: 'projectDetail',
component: ProjectDetail,
},
最佳答案
我不知道你为什么要绑定(bind) project
到router-link
,应该没有必要。
<router-link class="project__icon" :to="{ name: 'projectDetail', params: {name: project.name.replace(' ', ''), id: project.id} }">
:id
作为您路线的参数。您可以使用
?
将其标记为可选.
{
path: '/project/:name/:id?',
name: 'projectDetail',
component: ProjectDetail,
}
props: true
您可以将组件与路由器分离,而不是使用
this.$route.params.id
,您的详细信息组件将接收参数作为 Prop 。
{
path: '/project/:name/:id?',
name: 'projectDetail',
component: ProjectDetail,
props: true,
}
localstorage
之类的地方或
sessionstorage
.
关于vue.js - Vue路由器上的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55836759/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!