vue路由器链接未在刷新页面上显示参数

时间:2020-10-22 19:12:59

标签: laravel vue.js

当我刷新页面时,“音乐”组件看到“ params”对象为空, 有人可以帮我吗?

代码下方:

route.js:
{
    path: "/music",
    name: "music",
    component: music
}

file that call router-link:
<router-link :to="{name:'music', params:{ title:'Musicc'}} ">Music</router-link>

music component:
<template>
  <div>
    <div>{{title}}</div>
  </div>
</template>
<script>
    export default {
    name: "music",
    computed:{
        title: function(){
            return this.$route.params.title;
        }
      }
    }
</script>

4 个答案:

答案 0 :(得分:1)

您必须在路线的路径中给出参数名称....也许可以作为答案

route.js:
{
    path: "/music/:title",
    name: "music",
    component: music
}

答案 1 :(得分:0)

在route.js中添加props:true

route.js:

{
    path: "/music",
    name: "music",
    component: music,
    props: true
}

答案 2 :(得分:0)

页面刷新与单击路由器链接不同。页面刷新后,单击路由器链接传递的参数不会保留在页面中(如William Wang提到的)。如果您需要在刷新页面后仍保留数据,请考虑使用Vuex状态管理,而不是传递大量参数。

答案 3 :(得分:0)

这是您的问题

在调用路由器链接的文件中

<router-link :to="{name:'music', params:{ title:'Musicc'}} ">Music</router-link>

期间
path: "/music"

应该是

path:"/music/:title"

所以是错字