一.概述:


    如上图父组件所示,日常开发中,碰见页面中需要弹出多个弹窗,并且父组件传递给子组件的属性基本一致,并且两个弹窗是排斥关系(就是有你没我,我自己这么想的哈),那么有没有必要同时渲染两个子组件呢。于是,小白想到了动态加载组件:如下图(实用vue的<compenent>标签,这个不多说api上都有)

根据v-bind:is="machineOrGate"决定显示渲染那个组件(小白在业务逻辑中会动态更改"machineOrGate"的值哈),这就实现了动态加载组件。

二.问题:

    那么问题来了,由于我需要在子组件中监控父组件中传递的值得变化,如下图:

所以当子组件首次渲染的时候,是不会触发“machineInfo”监控事件的,所以就导致无法查询后台,无法做到表单回显,也就是只有子组件渲染成功之后,再次更该“machineInfo”才能触发监控事件,查询后台数据,表单回显

        所以还是最终同时渲染两个子组件了(小白无能啊),通过业务,避开了技术难题~~~~~唉

三.总结:

    这是我这次遇到的问题,问题描述的不清楚,总的来说就是动态组件+监控+加表单回显的问题

        做个记录,继续学习

Logo

前往低代码交流专区

更多推荐