Mixin 该 Vue 组件,给页面增加一个响应 $route.query 变化的 onQueryUpdated 回调吧! 项目地址

使用场景

对于 keep-alive 的页面来说,无论是分页还是搜索,该类业务都可抽象为去改变当前页 url 中的查询参数,然后在 onQueryUpdated 回调中拿着查询参数去获取数据就好。你不需要在 created 时获取一下数据,某个响应查询参数变化的地方再获取一下数据了,你只需要:

使用场景为增加商品表单,用户确定提交后,继续新增,需要清理之前用户输入数据,并对其初始化,再走一遍组件加载的流程,其中还包括几个子组件,如果手动去处理实在是太麻烦!! - 知乎提问

利用 v-if 控制 router-view,在路由容器组件,如 APP.vue 中实现一个刷新方法

同一个父组件,引入了若干不同子组件,但是不同子组件间存在相同请求数据情况,尤其是子组件上到一定数量时,往往是根据页面展示区块划分组件,这种现象就更加明显。一般大家都是如何避免这种情况的,也就是避免二次相同请求 - 知乎提问

该咋请求咋请求,把缓存放在 http 请求层,也就是 fetch 或 ajax 模块。这样不会对原有的代码造成太多影响,用起来也更自然

当然,你这种情况可以把获取数据的方法统一封装在父组件,子组件可以去继承,也可以去 inject

再多说两句,不要强行上 vuex,不要强行把数据传来传去,设计越多包袱越重,设计的意义一定是让复杂的事情变得简单,就假设有个新人要过来维护你们的项目,它能不能快速上手。

唉,维护接手了太多的项目,见过了太多的为了设计而设计的架构,何苦呢