首先由于业务需求,页面是基于父页面的站开页,将子组件都封装成k-form-build组件,通过json来渲染数据,所以页面内的很多参数,要放到流程中去请求,如图
红框是整个流程的父组件,先简称页面A,蓝色框是流程中每一步的子页面,简称页面B,黄色框是流程按钮,控制流程的进度,和下一步A应该展示哪个页面,简称页面C。
问题是用户在页面B中的所有操作,要将值带到页面c的流程按钮中去提交,此处用的递归调用方式,现阶段问题是,当我点击提交时,要请求两个接口,一个是页面接口,一个是流程接口,且流程接口需要等页面的接口请求成功后,根据返回值再请求,试了好几种方法最终还是选择了用事件总线-eventBus
页面B:
当请求成功后,我会根据code值进行判断,随即抛出一个状态值给页面C来做判断,eventBus最大的问题就是每次操作之后要销毁,不然就会每次都多调用一次接口
页面A:
此处为A页面的递归调用
页面C:
蓝色框的操作处理,让每次调用之前先销毁eventbus,然后再接收新的值,并且在eventbus.$on中进行异步操作处理,async await 请求接口,最终实现需求