1. 程式人生 > >如何在小程式wxml檔案中編寫js程式碼

如何在小程式wxml檔案中編寫js程式碼

當我們建立頁面時

發現有個.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>

最後輸出結果如圖:

結果

注意:

  1. wxs 不依賴於執行時的基礎庫版本,可以在所有版本的小程式中執行。
  2. wxs 與 javascript 是不同的語言,有自己的語法,並不和 javascript 一致。
  3. wxs 的執行環境和其他 javascript 程式碼是隔離的,wxs 中不能呼叫其他 javascript 檔案中定義的函式,也不能呼叫小程式提供的API。
  4. wxs 函式不能作為元件的事件回撥。
    由於執行環境的差異,在 iOS 裝置上小程式內的 wxs 會比 javascript 程式碼快 2 ~ 20 倍。在 android 裝置上二者執行效率無差異。