Vue.js (Vue路由器)在特定路由上推送参数

Vue.js (Vue路由器)在特定路由上推送参数,vue.js,vue-router,Vue.js,Vue Router,我有一个组件,它具有基于外部数据的编程路由。 外部数据在App.vue组件中获取,并作为props在子组件中使用 在子组件中使用的数据如下所示: 道具:{ 外部数据:数组 }, 计算(){ 数据(){ 返回此.externalData } } 这是我的router.js(节选) const路由=[ { 路径:“/:hae?”, 姓名:“家”, 组成部分:家庭 }, { 路径:“*”, 名称:“未找到”, 组件:未找到 } ]; 以及使用$router.push方法的myHome.vue(节选

我有一个组件,它具有基于外部数据的编程路由。 外部数据在
App.vue
组件中获取,并作为
props
在子组件中使用

在子组件中使用的数据如下所示:

道具:{
外部数据:数组
},
计算(){
数据(){
返回此.externalData
}
}
这是我的
router.js
(节选)

const路由=[
{
路径:“/:hae?”,
姓名:“家”,
组成部分:家庭
},
{
路径:“*”,
名称:“未找到”,
组件:未找到
}
];
以及使用
$router.push
方法的my
Home.vue
(节选):

created(){
如果(此.$route.path==“/”){
这是$router.push({
参数:{
hae:this.data[0].id
}
});
}
},
因此,以下是我想要实现的目标:

这是我的示例数组:
[{hae:hae001},{hae:hae002},{hae:hae003}…]
当您导航到
https://website.com/
我希望路由器将您重定向到作为数组第一个元素的参数,但如果您导航到数组中不存在的其他位置(例如
/something
),我希望路由器呈现我的
NotFound.vue
组件

我遗漏了什么?


创建(){
const firstDataElementExists=this.data&&this.data[0]&&this.data[0].hae
如果(!FirstDataElement存在){
这是。$router.push(“/404”)
返回
}
const isRootPath=this.$route.path==='/'
如果(isRootPath){
this.$router.push(this.data[0].hae)
返回
} 
常量路径数据=!!this.data.find(d=>d.hae==p)
如果(!isRootPath&!pathisinada){
这是。$router.push(“/404”)
}
}

谢谢,它修复了参数的问题!对于NotFound组件有什么建议吗?