原生微信小程序 计算属性 wxs

原生微信小程序 计算属性 wxs

WXS官方文档

WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。 WXS 与 JavaScript 是不同的语言,有自己的语法,并和 JavaScript 一致。 WXS 的运行环境和其他 JavaScript 代码是隔离的,WXS 中不能调用其他 JavaScript 文件中定义的函数,也不能调用小程序提供的API。 由于运行环境的差异,在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

购物车示例

创建名字.wxs的文件在任意目录

wxs

代码语言:javascript
复制
// count.wxs
/**
 * 获取商品总价
 * @param arr 
 */
module.exports.getAllPrice = function(arr){
    return arr.reduce(function(a,b){
        return a+(b.price*b.num)
    },0)
};
/**
 * 获取商品数量
 * @param arr 
 */
module.exports.getAllNum = function(arr){
    return arr.reduce(function(a,b){
        return a+b.num
    },0)
};

使用

代码语言:javascript
复制
<!--pages/food/foodlist/foodlist.wxml-->
<wxs src="/utils/wxs/count.wxs" module="count" />
<view>
<text class="price">¥{{ count.getAllPrice(carList) }}</text>
<text class="num">{{ count.getAllNum(carList) }}</text>
</view>