我想直接在wxml页面中直接保留数据的小数点的后两位,由于后台返回的数据层级较多,如果直接在页面的js中先保留两位数再显示在页面中的话,会比较麻烦也耗资源。但是直接在页面中写.toFixed(2)方法会不生效,然后想到运用到了wxs,可以在里面封装一些方法,在wxml页面可以直接调用
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML
,可以构建出页面的结构。
右键可以直接新建 一个.wxs
文件,在其中直接编写 WXS 脚本。
注意:
- wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
- wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
- wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
- wxs 函数不能作为组件的事件回调。
- 由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
示例代码:
<!-- page/tools.wxs -->
var bar = function (saleprice,discount) {
var disprice = saleprice * discount;
disprice = disprice.toFixed(2);
return disprice;
}
module.exports = { FOO: foo, bar: bar,};module.exports.msg = "some msg";
<!-- page/index/index.wxml -->
<wxs src="./../tools.wxs" module="tools" />
<view> {{tools.msg}} </view>
<view> {{tools.bar(2,3)}} </view>
页面输出:
some msg
6.00