列表渲染时wxs引起的异常

发布于 6 年前作者 xiulanding4991 次浏览最后编辑 6 年前来自 ask

wxs代码:

module.exports.split = function (str, separator) {//根据指定分隔符分隔字符串

console.log(‘base run…’);

return str.split(separator);

};

wxml代码:

<wxs src=“…/…/common/base.wxs” module=“base” />

<block wx:for=“{{base.split(goods_info.appPicture,‘,’)}}”>

{{item}}

</block>

其中goods_info.appPicture的值是ajax请求得到,值是:‘123,456’。

页面渲染结果都正确,只是console一直报错:

TypeError: Cannot read property ‘split’ of undefined

VM6765:2 Uncaught TypeError: Cannot read property ‘onReachBottomDistance’ of undefined

7 回复
liangxiuying
liangxiuying1 楼6 年前

好的,应该是这个问题了,解决了的话麻烦帮忙关闭问题,谢谢

vcai
vcai2 楼6 年前

是的,ajax请求是在onLoad事件中发送的。

daixia
daixia3 楼6 年前

估计是ajax请求未成功时wxml已经开始渲染了

ptao
ptao4 楼6 年前

是的,split方法居然执行了两次,第一次执行的时候str是undefined,第二次执行的时候str的值才是正确的

zhangfang
zhangfang5 楼6 年前

在方法里面类似这样搞下试试 (str+“”).split

hdong
hdong6 楼6 年前

说错了 应该是第一个参数 appPictrue这里应该把它显示搞成字符串的

rlei
rlei7 楼4 年前

goods_info.appPicture 在 ajax 请求返回前的值是 undefined 吗?