Vue.js Vue JS道具不够精确

Vue.js Vue JS道具不够精确,vue.js,gridsome,Vue.js,Gridsome,我正在为VUE JS使用Gridsome框架 我正在使用this.$router.push(路径,参数) 页面路由工作正常-但是页面中未定义属性pageOBJ,如VUE检查器中所示: 它应该是一个对象(这是值设置的对象),即 我已经尝试了许多不同的技术来解决这个问题,但还没有设法解决这个问题,所以我想我错过了什么 将新的page.VUE文件添加到/pages文件夹时,gridsome会自动生成页面路由- 这就是问题所在吗 Gridsome也引用graphQI,您是否应该使用graph而不

我正在为VUE JS使用Gridsome框架

我正在使用
this.$router.push(路径,参数)

页面路由工作正常-但是页面中未定义属性
pageOBJ
,如VUE检查器中所示:

它应该是一个
对象
(这是值设置的对象),即

我已经尝试了许多不同的技术来解决这个问题,但还没有设法解决这个问题,所以我想我错过了什么

  • 将新的page.VUE文件添加到/pages文件夹时,gridsome会自动生成页面路由-
这就是问题所在吗

Gridsome也引用graphQI,您是否应该使用graph而不是按道具来获取数据

这里的任何帮助都将是惊人的-如果您需要任何进一步的信息,请让我知道

谢谢- W


根据当前答案更新:

我已经为组件添加了props:true,如下所示,但问题仍然存在


代码段-摘要:

用户单击SectionTitle组件,然后发出页面链接 (每个SectionTitle都是一个对象,来自:对象的sections数组)

要查看此文件的当前在线版本,请查看

忍者猎熊网



从“@/components/SectionTitle.vue”导入SectionTitle;
从“@/components/PageTransition.vue”导入PageTransition
导出默认值{
元信息:{
标题:“你好,世界!”
},
组成部分:{
章节标题,
页面转换
},
数据(){
返回{
//要传递到组件的数据
章节:[
{
章节标题:“客户”,
sectionLink:'客户',
部分字幕:“‘与我共事的一些令人惊奇的人类’,
背景颜色:“#F08080”,
标题颜色:“#E65454”
}, 
{
章节标题:“项目”,
sectionLink:“项目”,
章节副标题:“‘我喜欢做一些项目来测试我的知识和暴露我的弱点’,
背景颜色:“#20B2AA”,
标题颜色:“#11DACF”
}, 
{
章节标题:“技能”,
sectionLink:“技能”,
副标题:“学习永远不会结束,只要你有雄心壮志,我有足够的雄心壮志”,
背景颜色:“#A921B2”,
标题颜色:“#CA14D6”
},
{
章节标题:“关于我”,
sectionLink:“aboutme”,
章节副标题:`“我的joruney目前正在成为一名开发人员”`,
背景颜色:“#FFFFFF”,
标题颜色:“#d1d1”
},
{
章节标题:'联系我',
sectionLink:“联系我”,
小节副标题:`“如果你有任何问题或想就一个项目联系我,我很乐意与你交谈”`,
背景颜色:“#2185B2”,
标题颜色:“#0076AB”
}
],
divText:null,
transitionObj:null
}
},
方法:{
重新路由(值){
//1)A)-更改div的文本,说明其移动到的部分
this.divText=value.sectionTitle
this.transitionObj=值
//查找中心像素值以放置文本-滚动高度+窗口高度/2=中心位置
让centerPos=window.scrollY+(window.innerHeight/2)
//应用安全标题颜色和中心占有
document.querySelector('.leaveScreen p').style.cssText=`color:${value.titleColor};top:${centerPos}px`
//1)设置加载屏幕的动画
let screen=document.querySelector('.leaveScreen');
screen.style.cssText=`background:${value.backgroundColor};左:0%`;
//2)重新发送页面
设置超时(()=>{

此.$router.push({path:`/${value.sectionLink}/`,参数:{pageOBJ:value}}})//Pass
name
而不是
中的
path
。$router.push()


您应该在路线定义中添加
props:true

{
 path:'/thepath/:theParam',
 component:SomeComponent,
 props:true
}

谢谢威廉-我想这已经是问题了,现在道具设置为真(我应该在我原来的问题中包括这一点-对不起)-我已经更新了我的问题,显示这是添加的代码-带有摘要-无法添加完整的代码段,因为这使用的是gridsome frameworkvalue,您正在发送的是对象,您可以尝试通过JSON.stringify()将其转换为字符串吗?您可以尝试console.log(this.$route.params)吗在重定向路由页面中?尝试传递router.push
名称
而不是
路径
。$router.push({name:
${value.sectionLink}
,参数:{pageOBJ:value}})
this.$router.push({name: ${value.sectionLink}, params: {pageOBJ: value}})
{
 path:'/thepath/:theParam',
 component:SomeComponent,
 props:true
}