微信小程序模板循环无法使用indexOf替换方法,在vue中循环里可以使用js原生的函数等方法,但在微信小程序里是无效的,但可以使用wxs模块。
wxs:命名为str.wxs,导出定义的defineIndexOf方法,命名为indexOf
function defineIndexOf(str, val) { return str.indexOf(val); } module.exports = { indexOf: defineIndexOf }
wxml:
引用str.wxs,并给模块命名为toolStr,在下面的循环中要用到toolStr里面导出的indexOf方法
<wxs src="../../../../utils/str.wxs" module="toolStr" /> <view wx:for="{{list}}" wx:key="index" class="{toolStr.indexOf(item.allIndex, index) > -1 ? 'cur' : ''}}" bindtap="clickf" data-id="{{item.id}}">{{item.name}}</view>
总结:遇到微信小程序模板里无法使用方法时,可以使用微信提供的wxs模块。