收藏
回答

列表渲染时wxs引起的异常

问题模块
API和组件

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


最后一次编辑于  2017-11-25  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

7 个回答

  • Special
    Special
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • Special
    Special
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • junming
    junming
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • junming
    junming
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • 高壹
    高壹
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • 高壹
    高壹
    2017-11-25

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

    2017-11-25
    赞同
    回复
  • junming
    junming
    2017-11-25

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

    2017-11-25
    赞同
    回复