新闻详情页面排查不出来错误了,希望还有救
来源:

无无法师
2017-03-21
新闻页面取readid的方法有两种,一种是直接赋值,另一种是从read-data.js提取值。一开始的时候两种方法都提取到值,新闻页面可以显示出来。但是在做新闻详情页面的时候,新闻详情页面的值取不到。
往上查,发现currentReadId没有定义。
继续查是options.id也没定义
然后回到新闻页面,在tapDetail打断点就readid没有定义
在tapSwiper打断点就有定义,可以取到值
所以猜测是没有取到read-data.js里面的readId,但是新闻页面的其它数据都取到了,怎么能单单没取到readid?
readData处打断点没有定义,但是在appdata里面查看可以看到readlist都取到数据了。
不打断点,看调试台的Wxml是取到值的
这是我的read.wxml:
<import src="read-template/read-template" /> <view> <swiper class="swiper-class"> <swiper-item class="swiper-item-class" bindtap="tapSwiper" data-readid='3'> <image class="swiper-image" src="/image/read/swiper/wx.png"> </image> </swiper-item> <swiper-item class="swiper-item-class" bindtap="tapSwiper" data-readid='4'> <image class="swiper-image" src="/image/read/swiper/vr.png"> </image> </swiper-item> <swiper-item class="swiper-item-class" bindtap="tapSwiper" data-readid='5'> <image class="swiper-image" src="/image/read/swiper/iqiyi.png"> </image> </swiper-item> </swiper> <block wx:for="{{readsList}}"> <view bindtap="tapDetail" data-readid="{{item.readId}}"> <template is="read-template" data="{{...item}}" /> </view> </block> </view>
read.js:
//pages/read/read.js var readData = require('../../data/read-data.js') Page({ data: { readsList: null, }, tapDetail: function (e) { var readId = e.currentTarget.dataset.readid; wx.navigateTo({ url: "read-detail/read-detail?id=" + readId }) }, tapSwiper: function (e) { var readId = e.currentTarget.dataset.readid; wx.navigateTo({ url: "read-detail/read-detail?id=" + readId }) }, onLoad: function () { this.setData({ readsList: readData.readList }) } })
写回答
5回答
-
这个 不是什么问题,就是代码写的有问题,尝试去读取一个undifined变量。这个看代码看不出来,必须要断点调试。
022017-03-21 -
7七月
2017-03-21
后来小程序更新了,视频里已经加了字幕啦
00 -
7七月
2017-03-21
那里不应该出现undfined
00 -
7七月
2017-03-21
问题出在require那个js文件的时候,是不是没有在data.js里export输出啊。
00 -
无无法师
提问者
2017-03-21
图图图图图
00
相似问题