在wxs中,对电话号码截取,在截取的过程中, 列表中正常,但到了详情页就报
substring方法undefined
wxs
列表:
详情:
同样的数据,同样的使用,但列表不报错,详情报错,我就很郁闷, 后来百度翻了翻,发现是数据加载问题。
<text>联系方式: {{ infoutil.replacePhone(item.contact_phone) }}</text>
wxs
var replacePhone = function (phone) {
var replaceStr = phone.substring(3, 7)
var result = phone.replace(replaceStr, '****')
return result
}
列表:
<view wx:for="{{ seekings }}">
<template is="seeking_item" data="{{ item }}"></template>
</view>
详情:
<template is="seeking_item" data="{{ item }}"></template>
同样的数据,同样的使用,但列表不报错,详情报错,我就很郁闷, 后来百度翻了翻,发现是数据加载问题。
在列表页, 因为使用了wx:for, 说明数据已经加载完毕才执行wxs, 而在详情页,是直接就执行wxs。
小程序是先渲染页面,再执行onLoad,所以渲染页面时使用了初始值,即data里面初始化的值, 意味着还没加载数据, 那在执行replace的时候数据undefined,所以需要做一个判断
<view wx:if="{{ item != '' }}">
<template is="seeking_item" data="{{ item }}"></template>
</view>