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