微信小程序使用wxs(小程序的一套脚本语言)
- WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
- WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。
- WXS 的运行环境和其他 JavaScript 代码是隔离的,WXS 中不能调用其他 JavaScript 文件中定义的函数,也不能调用小程序提供的API。
- WXS 函数不能作为组件的事件回调。
- 由于运行环境的差异,在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
基本的使用
<!--wxml-->
<wxs module="m1">
var msg = "hello world";
module.exports.message = msg;
</wxs>
<view> {{m1.message}} </view>
个人感觉更多的用处更偏向于vue当中的过滤器
一般用作于处理页面上循环展示的数据 比如处理时间戳
// date.wxs
function Time(times) {
// eslint-disable-next-line
var date = getDate(times)
var hour = date.getHours()
var minute = date.getMinutes()
var second = date.getSeconds()
var time = [hour,minute,second].map(formatNumber).join(':')
return time
}
function Date(times) {
// eslint-disable-next-line
var date = getDate(times)
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var dates = [year,month,day].map(formatNumber).join('-')
return dates
}
module.exports = {
Time: Time,
Date: Date,
}
// index.wxml
<wxs src="./date.wxs" module="date" />
<view>格式化日期:{{date.Date(Time)}}</view>
<view>格式化时间:{{date.Time(Time)}}</view>