Vue.js 在Vuejs中刷新页面后,未将Prop传递给路由器组件

Vue.js 在Vuejs中刷新页面后,未将Prop传递给路由器组件,vue.js,vue-component,vue-router,Vue.js,Vue Component,Vue Router,我最近遇到了一个Vue路由器问题,假设我们有一个Vue CLI项目,我们的应用程序组件如下所示: 一 二 导出默认值{ 数据:函数(){ 返回{ } }, 创建(){ 这是$router.push({ 姓名:"两",, 参数:{ 留言:“你好” } }); } } 我们的一个和两个组成部分是: 第二,消息是{{message} 导出默认值{ 道具:[ “消息” ] } 及 一 我们的路由器文件是: 从“Vue”导入Vue 从“vue路由器”导入VueRouter 从“../compo

我最近遇到了一个Vue路由器问题,假设我们有一个Vue CLI项目,我们的应用程序组件如下所示:


一
二
导出默认值{
数据:函数(){
返回{
}
},
创建(){
这是$router.push({
姓名:"两",,
参数:{
留言:“你好”
}
});
}
}
我们的一个和两个组成部分是:


第二,消息是{{message}
导出默认值{
道具:[
“消息”
]
}

我们的路由器文件是:

从“Vue”导入Vue
从“vue路由器”导入VueRouter
从“../components/one.vue”导入一个
从“../components/two.vue”导入两个
Vue.use(VueRouter);
导出常量路由器=新VueRouter({
路线:[
{
路径:'/one',
名称:“一”,
构成部分:1
},
{
路径:'/two',
姓名:"两",,
构成部分:二,
道具:真的
}
]
});
问题是,当我第一次打开页面时,一切正常,第二个组件识别道具并显示“2,消息是hello”。当我点击路由器链接并正确传递道具时,它们都工作正常。 当我刷新页面时,问题出现了,它只显示“2,消息是”

我为解决此问题所做的工作:第二次页面刷新后,
此.$router.push
似乎无法正常工作,原因是重复的导航错误不允许您导航到同一路线

问题是:

  • 我正确地认识到这个问题了吗?是因为重复的导航吗
  • 如果这就是问题所在,我如何使路由器组件始终装载在页面刷新上,并将道具正确地传递给它

  • 路径中未包含的路由参数(例如
    /Route/:param
    )不会在页面重新加载时保持不变。它们只存在于当前会话的内存中

    我要做的是

  • 删除
    应用程序
    组件中创建的
    挂钩

  • 在路由器中设置一个从
    /
    到两个

    {
    路径:“/”,
    重定向:{name:“two”,参数:{message:“hello”}
    }
    
  • two
    中为道具设置默认值,以处理重新加载

    道具:{
    信息:{
    类型:字符串,
    默认值:“你好”
    }
    }
    

  • 不要将对象参数用于路由器-感谢您的帮助,此解决方案工作得非常好!