WXS(WeiXin Script)是小程序的一套脚本语言,结合
WXML
,可以构建出页面的结构。wxml中是不能使用函数的,但是如果你要在wxml的页面中使用函数的话,wxs可以做到
1.创建.wxs 文件
在微信开发者工具里面,右键可以直接创建 .wxs
文件,在其中直接编写 WXS 脚本。
如:utils.wxs
以/Date(1640576604697)/ 转成YYYY-MM-DD hh:mm:ss 为例:
function ToDate(jsondate) {
jsondate = jsondate.replace("/Date(", "").replace(")/", "");
if (jsondate.indexOf("+") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("+"));
} else if (jsondate.indexOf("-") > 0) {
jsondate = jsondate.substring(0, jsondate.indexOf("-"));
}
var date = getDate(parseInt(jsondate, 10));
var Y = date.getFullYear() + '-';
var M = formatNumber(date.getMonth() + 1) + '-';
var D = formatNumber(date.getDate()) + ' ';
var h = formatNumber(date.getHours()) + ':';
var m = formatNumber(date.getMinutes()) + ':';
var s = formatNumber(date.getSeconds());
return Y + M + D + h + m + s; s
}
var formatNumber = function (n) {
return n >= 10 ? n : '0' + n
}
module.exports = {
ToDate: ToDate,
}
module 对象
每个 wxs
模块均有一个内置的 module
对象
属性
-
exports
: 通过该属性,可以对外共享本模块的私有变量与函数。
2.使用wxs 文件
在要使用的.wxml文件里引入标签wxs
<wxs src="../../common/utils.wxs" module="tool" />
module是这个wxs文件的别名,后续使用都是用这个名称
createTime值为/Date(1640576604697)/
<view>{{tool.ToDate(book.createTime)}}</view>
页面显示为
<wxs>
标签
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
module | String | 当前 <wxs> 标签的模块名。必填字段。 | |
src | String | 引用 .wxs 文件的相对路径。仅当本标签为单闭合标签或标签的内容为空时有效。 |
module 属性
module 属性是当前 <wxs>
标签的模块名。在单个 wxml 文件内,建议其值唯一。有重复模块名则按照先后顺序覆盖(后者覆盖前者)。不同文件之间的 wxs 模块名不会相互覆盖。
module 属性值的命名必须符合下面两个规则:
-
首字符必须是:字母(a-zA-Z),下划线(_)
-
剩余字符可以是:字母(a-zA-Z),下划线(_), 数字(0-9)
src 属性
src 属性可以用来引用其他的 wxs
文件模块。
引用的时候,要注意如下几点:
-
只能引用
.wxs
文件模块,且必须使用相对路径。 -
wxs
模块均为单例,wxs
模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,多次引用,使用的都是同一个wxs
模块对象。 -
如果一个
wxs
模块在定义之后,一直没有被引用,则该模块不会被解析与运行。