在首页明细这里,通过相加后变化数据的支出部分,将他的数据动态的传递给另一个页面,麻烦用代码讲讲,因为支出总额要随下面增加的账单而变化,用全局变量能实现吗?

微信小程序如何把一个页面的某个数据传到另一个页面去
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
关注
Hi~ 少年我又带着不是最优解的案例来了。
简陋的效果:粗糙的代码:
index/index.wxml<view>总支出: {{totalExpenditure}} 元</view> <view>支出条目</view> <view wx:for="{{billFlow}}" wx:key="unique"> {{item.content}} {{item.price}}元 </view>
index/index.js
const app = getApp() Page({ data: { totalExpenditure: 0, billFlow: [] }, onShow() { this.setData({ totalExpenditure: app.totalExpenditure(), billFlow: app.billFlow }) } })
index2/index.wxml
<view>剩余预算: {{remainingBudget}}</view> <view>本月预算: {{budget}}</view> <view>本月支出: {{totalExpenditure}}</view> <view bindtap="pay" wx:for="{{goods}}" wx:key="unique" data-price="{{item.price}}" data-content="{{item.content}}">买{{item.content}} {{item.price}} 元</view>
index2/index.js
const app = getApp() Page({ data: { totalExpenditure: 0, remainingBudget: 0, budget: 0, billFlow: [], goods: [ { content: '棒棒糖', price: 1, }, { content: '口香糖', price: 2, } ] }, onShow() { this.setData({ totalExpenditure: app.totalExpenditure(), billFlow: app.billFlow, budget: app.budget, remainingBudget: app.remainingBudget() }) }, pay(e) { const { price, content } = e.currentTarget.dataset; app.billFlow.push({ content, price: -1 * price }) this.onShow() } })
app.js
App({ // 预算 budget: 100, // 账单流水 billFlow: [ { content: '餐饮', price: -73 } ], // 总支出 totalExpenditure() { return Math.abs(this.billFlow.filter(f => f.price < 0).reduce((t, i) => t + i.price, 0)) }, // 剩余预算 remainingBudget(){ return this.budget - this.totalExpenditure(); } })
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥30 哈夫曼编码译码器打印树形项目
- ¥20 求完整顺利登陆QQ邮箱的python代码
- ¥15 怎么下载MySQL,怎么卸干净原来的MySQL
- ¥15 网络打印机Ip地址自动获取出现问题
- ¥15 求局部放电案例库,用于预测局部放电类型
- ¥100 QT Open62541
- ¥15 stata合并季度数据和日度数据
- ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
- ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
- ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色