请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,pages里面的文件,我想在跳转其他页面的时候传递一个值,是不是跳转链接书写不对

图片描述
我没有封装组件,直接在pages下面写的,当前页面可以成功输出结果。我想将打印结果的result里面的data里面每个数组项里面的createId传到跳转页面,但传递不成功,结果为undefined
图片描述
js文件里面的data,控制台显示的结果是跳转页面之后输出的ranklistId
图片描述

正在回答 回答被采纳积分+3

2回答

谢成 2020-02-14 20:07:29

https://img1.sycdn.imooc.com//szimg/5e468d7a09e7ef6b16401318.jpg

循环遍历this.data.ranklist

0 回复 有任何疑惑可以回复我~
  • 提问者 QQCC2 #1
    老师,不报错了,但是返回值还是不正确。我试着打印具体的createId值时console.log(this.data.ranklist[1].createId),输出结果是正确的。 但打印console.log(this.data.arr[1])的时候还是undefined
    回复 有任何疑惑可以回复我~ 2020-02-14 22:32:28
  • 谢成 回复 提问者 QQCC2 #2
    arr这个值没有放在data里,所以取值不能通过this.data.arr来取值,直接arr来取值。
    
    建议把小程序基础知识再认真学习一下,然后再学习实战课后面的知识,可以看下我的小程序入门视频课程:https://www.imooc.com/learn/1121
    回复 有任何疑惑可以回复我~ 2020-02-15 08:35:48
  • 提问者 QQCC2 回复 谢成 #3
    arr我已经放在了data那里的了,不用this.data.arr,它会报错,谢谢老师的建议
    回复 有任何疑惑可以回复我~ 2020-02-15 09:55:51
谢成 2020-02-14 14:40:06

应该是取值的地方有问题,this.data.ranklist是一个数组,这个数组下没有createId属性,createId是在这个数字里面的每一个对象里面,所以应该是this.data.ranklist.createId没有取到值。


可以定义一个新数组,比如arr,然后循环遍历this.data.ranklist取出里面的每一个对象的createId属性push到arr中,把这个arr传递过去。

0 回复 有任何疑惑可以回复我~
  • 提问者 QQCC2 #1
    老师,我在data那里添加了 arr:[ ]。我这么写,有什么语法错误吗,报错说thirdScriptError
    ranklist is not defined; [Component] Event Handler Error 。也没有打印arr。
    
    getCreateId() {
        for (let i = 0; i < ranklist.length; i++) {
          arr.push(ranklist[i].createId)
        }
        console.log(arr)
      },
    
      goToToplist(){
        this.getCreateId()
        wx.navigateTo({
          url: `../../pages/toplist/toplist?ranklistId=${this.data.arr}`,
        })
      },
    回复 有任何疑惑可以回复我~ 2020-02-14 15:22:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信