微信小程序使用 wxs 对模板数据格式化展示

在小程序页面展示时,对时间、金额进行格式化处理。但是每次在 js 文件中处理,并 setData 感觉无比麻烦。是否可以直接在 wxml 模板文件中进行处理。正好发现了微信小程序 wxs,完全满足需求。

微信小程序 wxs 使用场景

WXS(WeiXin Script)是微信创造的一套脚本语言,虽然看起来很 JS 异常相似,但是官方说法是:

“WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致”。

作为模板变量filter不错,随模板打包带走挺好用

WXS 特点:

  • 在视图层(webview)中运行的 JS
  • 可以监听 touch 事件,处理滚动、拖动交互
  • WXS 函数不能作为组件的事件回调
  • 不能调用小程序提供的API
  • 在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异

WXS 适用场景:

  • 文本、日期格式化
  • 用户交互频繁、仅需改动组件样式(比如布局位置),无需改动数据内容的场景,比如侧滑菜单、索引列表、滚动渐变等

wxs 写在独立文件中比较好

  • 这样就能复用代码
  • 方便代码格式化

以金额格式化为例:

wxs 代码

utils/filter.wxs

function formatMoney(money) {
  return (money * 1.0 / 100).toFixed(2)
}

module.exports = {
  formatMoney: formatMoney
}

在模板中使用 wxs 代码

<wxs module="filter" src="../../utils/filter.wxs"></wxs>

<view class="summary">
    <view>¥ {{filter.formatMoney(money)}}</view>
</view>

这样就起到了格式化数据展示的效果,而且不需要修改 js 文件中的 data 数据。

 

posted on   大西瓜3721  阅读(259)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2016-03-31 jQuery.autoComplete 多参数
2016-03-31 jquery-autocomplete 参数说明
2015-03-31 MVC 数据验证

导航

点击右上角即可分享
微信分享提示