wxml用wx:for做列表渲染,然后想加个序号,为了美观,还要补足2位数才好。
本来想直接用js的padStart方法,结果wxml不能直接用js,不过小程序给出了自己的解决方法,就是使用wxs
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
参考:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/
WXS虽然和Javascript很相似,但是还是不一样的,并没有js这么好用!!! 但也基本够用
util.wxs部分:
var padNum = function(num, fill) {
var len = ('' + num).length
if (fill > len) {
var arr = [];
var slen = fill - len + 1
for (var i = 0; i < slen; i++) {
arr[i] = ''
}
num = arr.join(0) + num
}
return num;
};
module.exports = {
padNum: padNum
};
wxml部分:
<wxs src="../../utils/util.wxs" module="util" />
<view wx:for="{{videos}}" class="item {{video_current_id == item.id ? 'current' : ''}}">
{{util.padNum(index+1,2)}}-{{item.title}}
</view>
OK啦!