如何在小程式wxml檔案中編寫js程式碼
阿新 • • 發佈:2019-01-09
當我們建立頁面時
發現有個.wxs檔案
發現有個.wxs檔案,關於wxs檔案如何使用呢?
WXS(WeiXin Script)是小程式的一套指令碼語言,結合 WXML,可以構建出頁面的結構。
wxs可以說就是為了滿足能在頁面中使用js存在的,在wxml頁面中,只能在插值{{ }}中寫簡單的js表示式,而不能呼叫方法,例如直接在wxml頁面中直接保留資料的小數點的後兩位。
通常的解決辦法是在page的data物件中先把這個資料截賦給某個變數,然後在頁面中使用這個變數,但是問題又來了,如果變數多了呢,是不是要定義很多次。
相對來說wxml中使用js語法就比較薄弱了,wxs就是彌補了這樣的短處。
關於wxs檔案的使用方法如下:
.wxs的例項程式碼為:
<!-- page/tools.wxs -->
var bar = function (a,b) {
var total = a * b;
total = total.toFixed(2);//保留兩位小數
return total;
}
module.exports = { bar: bar};
在wxml中引用程式碼:
<!-- page/index/index.wxml --> <wxs src="./../tools.wxs" module="tools" /> <view> {{tools.bar(2,3)}} </view>
最後輸出結果如圖:
結果
注意:
- wxs 不依賴於執行時的基礎庫版本,可以在所有版本的小程式中執行。
- wxs 與 javascript 是不同的語言,有自己的語法,並不和 javascript 一致。
- wxs 的執行環境和其他 javascript 程式碼是隔離的,wxs 中不能呼叫其他 javascript 檔案中定義的函式,也不能呼叫小程式提供的API。
- wxs 函式不能作為元件的事件回撥。
由於執行環境的差異,在 iOS 裝置上小程式內的 wxs 會比 javascript 程式碼快 2 ~ 20 倍。在 android 裝置上二者執行效率無差異。