WXS
wxs 的语法类似 javascript
特性
数据类型
类型 | 描述 |
---|---|
number | 数值类型 |
string | 字符串类型 |
boolean | 布尔类型 |
object | 对象类型 |
function | 函数类型 |
array | 数组类型 |
date | 日期类型 |
regexp | 正则 |
ES5语法
wxs不支持类似es6及以上的语法
不支持
let const 解构赋值 展开运算符 箭头函数 对象属性简写 …
支持
var 定义变量 普通函数 function 函数等类似 ES5 的语法
wxs遵循CommonJS规范
module对象
require() 函数
module.exports 对象
基础语法
wxs代码可以编写在wxml文件中的<wxs>
标签内
wxml文件中的每个<wxs></wxs>
标签,必须提供module属性
用来指定当前wxs模块的名称,方便在wxml中访问模块中的成员
<!-- 主要作用为过滤器 配合Mustache使用 -->
<view>{{m1.toUpper(username)}}</view>
<wxs module="m1">
module.exports.toUpper = function(str){
return str.toUpperCase()
}
</wxs>
wxs中定义的函数不能作为组件的事件回调函数
<button bindtap='m2.toLower'>按钮</button> <!-- x 错误语法 -->
外联脚本
wxs代码可以编写在.wxs为后缀名的文件内
function toLower(str) {
return str.toLowerCase()
}
module.exports = {
// 不支持对象简写语法 toLower,
toLower:toLower
}
引入
wxml中引入外联wxs脚本,必须为<wxs>
标签添加module和src属性
module用来指定模块的名称
src用来指定要引入的脚本的路径,必须是相对路径
<!-- 调用m2模块中的方法 -->
<view>{{ m2.toLower(country) }}</view>
<!-- 引用外联的tool.wxs脚本 并命名为m2 -->
<wxs src='../../utils/tool.wxs' module='m2'></wxs>