在首页明细这里,通过相加后变化数据的支出部分,将他的数据动态的传递给另一个页面,麻烦用代码讲讲,因为支出总额要随下面增加的账单而变化,用全局变量能实现吗?
微信小程序如何把一个页面的某个数据传到另一个页面去
- 写回答
- 好问题 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(); } })
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 自己做的代码上传图片时,报错
- ¥15 Lingo线性规划模型怎么搭建
- ¥15 关于#python#的问题,请各位专家解答!区间型正向化
- ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
- ¥50 comsol温度场仿真无法模拟微米级激光光斑
- ¥15 上传图片时提交的存储类型
- ¥15 VB.NET如何绘制倾斜的椭圆
- ¥15 arbotix没有/cmd_vel话题
- ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
- ¥15 用C语言怎么判断字符串的输入是否符合设定?