在wxml中执行复杂运算的方法(处理页面中的值)

工作中遇到一个问题,直播时需要对观看人数进行处理,大于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>
  

完美处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值