對于已經獲取的數據往往還需要一點點小的計算,比如說兩個數相除只取兩位小數。
wxs常用于數據處理。
WXS 代碼可以編寫在 wxml 文件中的 標簽內,或以 .wxs 為后綴名的文件內。
情況一 在使用的wxml中寫
適用于只在此文件中使用的模塊定義
step 1
定義這個模塊 寫好事件處理函數 并且暴露出去
-
<wxs module="m1">
-
var getEvery = function(totle,each) {
-
var eachPrice=(totle/each).toFixed(2);
-
return eachPrice;
-
}
-
module.exports.getEvery = getEvery;
-
</wxs>
此代碼寫在了wxml文件中 每一個 .wxs 文件和 標簽都是一個單獨的模塊。 每個模塊都有自己獨立的作用域。 即在一個模塊里面定義的變量與函數,默認為私有的,對其他模塊不可見。 一個模塊要想對外暴露其內部的私有變量與函數,只能通過 module.exports 實現。
step 2
用在wxml中:模塊名.方法名(參數一 ,參數二);參數為 page.js 里面的 array
-
<text wx:if="{{goods.childNum>1?'true':''}}">折算后單個: ¥{{m1.getEvery(goods.retailPriceJia,goods.childNum)}} </text>
即可。
情況二 在引用文件外邊定義
wxs 不依賴于運行時的基礎庫版本,可以在所有版本的小程序中運行。所以不需要在意版本
step 1 .wxs 文件
在微信開發者工具里面,右鍵可以直接創建 .wxs 文件,在其中直接編寫 WXS 腳本。
step 2 單文件定義
可以暴露變量名和函數,可以暴露一個,也可以暴露多個
-
var filters = {
-
toFix: function (value) {
-
return value.toFixed(2)//此處2為保留兩位小數
-
}
-
}
-
var filt = {
-
toFix: function (value) {
-
return value.toFixed(1)//此處1為保留1位小數
-
}
-
}
-
module.exports = {
-
toFix: filters.toFix,
-
toFixs: filt.toFix
-
}
該 .wxs 文件可以被其他的 .wxs 文件 或 WXML 中的 標簽引用。
step 3 在其他頁面使用
-
<wxs module="filt" src="../components/getfixed.wxs"></wxs>
-
-
<text class='items-price-now'>¥{{filt.toFixs(item.retailPriceJia)}}</text><text style='color:#989898;font-size:22rpx;'>/個</text><text class='items-price-old'>市場價:¥{{filt.toFixs(item.retailPrice)}}</text>
至此,完成。 保留兩位小數效果實現.
|