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> 模塊。
