mPaas小程序(支付宝、钉钉...)页面中(axml中)使用函数(使用.sjs文件)
生活随笔
收集整理的這篇文章主要介紹了
mPaas小程序(支付宝、钉钉...)页面中(axml中)使用函数(使用.sjs文件)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
mpaas小程序在js文件中定義的函數(shù)在頁面中調(diào)用會(huì)發(fā)生報(bào)錯(cuò),要使用sjs文件來定義函數(shù)
SJS(safe/subset javascript)是小程序一套自定義腳本語言,可以在 AXML 中使用其構(gòu)建頁面結(jié)構(gòu)。
SJS 是 JavaScript 語言的子集,與 JavaScript 是不同的語言,故二者語法并不一致,請(qǐng)勿將其等同于 JavaScript。
比如要定義一個(gè)格式化金額的函數(shù)
在.sjs文件中
/*** 金額格式化* @param amount 金額String||Number* @param precision 小數(shù)位數(shù)Number(0-20)* @param unit 是否帶單位Boolean* @returns {string}*/ const amountFormat = (amount, precision, unit) => {if (amount === '') amount = '0'precision = precision > 0 && precision <= 20 ? precision : 2amount =parseFloat((amount + '').replace(/[^\d.-]/g, '')).toFixed(precision) + ''const l = amount.split('.')[0].split('').reverse()const r = amount.split('.')[1]let t = ''for (let i = 0; i < l.length; i++) {t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : '')}if (unit) {return t.split('').reverse().join('') + '.' + r} else {return t.split('').reverse().join('') + '.' + r} }export default {amountFormat }.html中
<import-sjs name="filters" from=".sjs文件的路徑"/> <view>{{ filters.amountFormat(100) }}</view>另外可以看出我這里導(dǎo)出函數(shù)的方式是統(tǒng)一導(dǎo)出的,另外的分別導(dǎo)出每個(gè)函數(shù)的語法也是可以的,改一下name就行,name屬性就相當(dāng)于import后那個(gè){}
總結(jié)
以上是生活随笔為你收集整理的mPaas小程序(支付宝、钉钉...)页面中(axml中)使用函数(使用.sjs文件)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YUV,BGR,RGB图像在内存中占用大
- 下一篇: 据报道,Intel 发布 ARC 系列显