当我刷新页面时,“音乐”组件看到“ 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>
答案 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"
所以是错字