- 模块化更有助于代码复用
- 每个模块都是一个 .js 文件
- 需要导出 exports 才能被使用
- 需要引入 require 采能使用
[] 封装购物车数据统计
- 统计数量
- 统计总价
- 统计优惠
- 其它数据
- 创建模块文件 calcCarts.js
const calcCarts = (carts) => {
return carts.reduce((acc, item) => {
if (item.selected) {
const itemTotal = item.quantity * item.price;
const itemDiscounted = itemTotal * (1 - (item.discount || 0));
acc.original += itemTotal;
acc.discounted += itemDiscounted;
acc.total += item.quantity;
}
return acc;
}, {
original: 0.00,
discounted: 0.00,
total: 0
})
}
// 导出
module.exports = {
calcCarts
}
引入模块;注意路径
const {
calcCarts
} = require('../../utils/calcCart')
使用解构出来的方法
onLoad(){
this.setData({
carts: calcCarts(this.data.carts)
})
}