工作中遇到一个问题,直播时需要对观看人数进行处理,大于10000的显示1万+,小于一万的正常处理。
直接三元运算走起:
<view class="total">{{ (total - 0 >= 10000) ? ((total / 10000).toFixed(1) + "万+") : total }}</view>
很不幸,微信小程序中 {{ }}
仅支持简单运算,无法进行复杂操作,报错了。
需要<wxs>
出场了。
可以在wxml文件中直接定义wxs
module
属性可以定义导出模块名,module.exports
定义导出处理函数。formart
就新鲜出炉了。
wxml文件中直接定义wxs
<!--index.wxml-->
<!--定义-->
<wxs module="fn">
module.exports = {
formart: function(total){
return (total - 0 >= 10000) ? ((total / 10000).toFixed(1) + '万+') : total;
}
}
</wxs>
<!--使用-->
<view class="total">{{fn.formart(total) }}</view>
单独文件定义导入更符合模块复用原则
单独定义
// 定义
// utils.wxs
module.exports = {
formart: function(total){
return (total - 0 >= 10000) ? ((total / 10000).toFixed(1) + '万+') : total;
}
};
// 使用
// index.wxml
// 1.1 导入
<wxs src="../Module/utils.wxs" module="fn" ></wxs>
// 1.2 调用
<view>{{fn.formart(12345)}}</view>
完美处理