Vue.js Vue路由器-并非所有参数都被传递
我有这个组件,它是ca;;被Vue路由器屏蔽。但并非所有参数都被组件接收。链接正常工作是因为浏览器URL创建正确,例如Vue.js Vue路由器-并非所有参数都被传递,vue.js,vue-router,Vue.js,Vue Router,我有这个组件,它是ca;;被Vue路由器屏蔽。但并非所有参数都被组件接收。链接正常工作是因为浏览器URL创建正确,例如http://localhost:8080/dashboard/brands/1/car/1。但是,brandId不会被组件接收。它保持0 这是重定向到组件的我的链接: router-link tag="button" :to="{ name: 'CarDetail', params: { brandId:
http://localhost:8080/dashboard/brands/1/car/1
。但是,brandId
不会被组件接收。它保持0
这是重定向到组件的我的链接:
router-link
tag="button"
:to="{ name: 'CarDetail', params: { brandId: brandId, id: car.id } }"
>
Link
</router-link>
export default {
name: "CarDetail",
data() {
return {
car: {}
};
},
props: {
id: {
type: Number,
default: 0
},
brandId: {
type: Number,
default: 0
}
}
}
这是一个组件:
router-link
tag="button"
:to="{ name: 'CarDetail', params: { brandId: brandId, id: car.id } }"
>
Link
</router-link>
export default {
name: "CarDetail",
data() {
return {
car: {}
};
},
props: {
id: {
type: Number,
default: 0
},
brandId: {
type: Number,
default: 0
}
}
}
您在
parseProps
中缺少brandId
:
const parseProps = r => ({ id: parseInt(r.params.id),brandId: parseInt(r.params.brandId) });
parseProps看起来怎么样?我已经更新了代码。这只是一个确保id的类型为Number的函数。谢谢你,这解决了它。但是有没有一种更优雅的解析所有道具的方法呢?尝试一下
props:true,
而不是props:parseProps,
@Stephenprops:true,
能解决你的问题吗?它不能解决问题。但最初的答案确实如此。