WXS(WeiXin Script)是小程序的一套脚本语言。
WXS有二种写法:
1) 以<wxs>标签书写脚本:
语法:
<wxs module="[String]"> // 脚本代码 // 采用 module.exports. 将函数、属性对外公开 </wxs>
示例:
1 <wxs module="sample"> 2 var test = function(n){ 3 return n*10; 4 } 5 6 module.exports.test = test; // 将函数test对外公开调用 7 </wxs> 8 9 <!-- 调用模块: smaple的函数test --> 10 <view>{{sample.test(2)}}</view>
2)以独立的wxs文件书写脚本:
文件必须以.wxs为扩展名,比如文件: 1.wxs
1 var test = function(n){ 2 return n*10; 3 } 4 5 module.exports.test = test; // 将函数test对外公开调用
调用页面 index.wxml
<wxs module="sample" src="../../utils/wxs/1.wxs"/> <view>{{sample.test(2)}}</view>
WXS标签属性说明:
属性 | 是否必须 | 类型 | 默认值 | 说明 |
module | 是 | String | 指明该脚本模块的名称(调用相关接口时需要) | |
src | 否 | Path | 引入WXS脚本文件的相对路径 |
WXS注意事项:
1、wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
2、wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
3、wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
4、wxs 函数不能作为组件的事件回调。由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
5、WXS中可以调用其它WXS文件,并且只能调用WXS文件,采用 require 函数,引入的文件必须使用相对路径。
6、<wxs> 模块只能在定义模块的 WXML 文件中被访问到。使用 <include> 或 <import> 时,<wxs> 模块不会被引入到对应的 WXML 文件中。
7、<template> 标签中,只能使用定义该 <template> 的 WXML 文件中定义的 <wxs> 模块。