编码思路:动态给页面onshow中插入待执行方法
小程序/vue中,页面onShow/mounted中执行的方法使我们发布前编写好的,那么在某些时候,我们需要动态修改onshow里执行的方法。
例如:有一个订单列表页,页面内100条订单,其中有待支付的订单,我们点击进入订单详情中,付款了这笔未付款的订单,此时返回订单列表页,是希望订单刷新的,但是如果将刷新列表的方法,直接写在页面的onshow周期中,如果用户未付款,直接返回的话,页面就会刷新,此时的这一步操作是无效的(因为订单并没有实际刷新,这次请求没有意义)。
所以,此时我们引入一个概念(待执行方法),以uni-app方法为例,我们在vuex中保存一个变量,叫onshowFunction,这样我们可以在需要插入的时候(如例子中的支付成功回调里,设置一个待执行事件),页面的onshow中,检测是否有待执行事件,如果有就执行,否则不执行,就可以动态操作onshow中的方法了。