- 当前 Bug 的表现(可附上截图)
P.S. 本来昨天就想提这个问题,但今天想截图效果时,发现使用同一段代码时却无法复现了。。。
原本我是想在 wxs 中循环遍历一个数组,然后判断符合某个条件后再返回这个数组元素(数组元素是一个对象),在开发者工具是正常的,但是在手机真机上(iOS 和 Android 都是,试过多个机型)查看开发版进入这个页面时却出现白屏,点开 vConsole,有如下提示:
比较奇怪的一点就是,我原本没有动过代码,昨天就突然出现这个问题,但是到今天,他又突然正常了。。。
- 预期表现
能正常显示页面
- 复现路径
详见下方 demo 代码
- 提供一个最简复现 Demo
原来有问题的代码:
···
<wxs module="helper">
module.exports.filterIndexBanner = function(banners) {
var i = 0
var len = banners.length
for (i, len; i < len; i++) {
if (banners[i].identification === 'HOME_PAGE') {
return banners[i]
}
}
/* 方案1:把上方改成如下就能正常:
for (var i = 0; i < banners.length; i++) {
if (banners[i] && banners[i].identification === 'HOME_PAGE') {
return banners[i]
}
}
*/
return {
identification: 'HOME_PAGE',
image: '../../images/banner.png'
}
}
</wxs>
<view class="image-wrap"
data-href="{{ helper.filterIndexBanner(banners).link }}" <!-- 方案2: 把这三行删掉就可以正常显示 -->
data-type="{{ helper.filterIndexBanner(banners).linkable_type }}" <!-- 方案2: 把这三行删掉就可以正常显示 -->
data-name="{{ helper.filterIndexBanner(banners).name }}" <!-- 方案2: 把这三行删掉就可以正常显示 -->
bindtap="onTapBanner">
<image src="{{ helper.filterIndexBanner(banners).image }}"/>
</view>
···
你js里存在直接修改 this.data的值,这种情况吗?
this.data.list[0].name = "卢霄霄"
这种
并没有哦,变量的赋值全部都是通过 redux 配合 setData 注入页面中的 data 的