Jackie_Snow 2025-04-30 13:13 采纳率: 0%
浏览 9

Vue2 中如何优雅地共享多个子组件所需的下拉值域请求?

在开发vue2项目的过程中,我遇到一个问题:我有一些页面,每个页面都会用到两个公共子组件,现在这两个公共子组件中有相同的查询条件的下拉值域需要请求获得。我这个请求的代码写在哪里合适?

我想了几种方案:

  1. 通过子->父->子的数据传递方式,只在一个子组件中请求再传递,但这样破坏了数据的流动;
  2. 在父组件中查询一次,传递给两个子组件,但是这样每个父组件中都要特殊处理,并且这个数据应该是属于子组件的;
  3. 两个子组件分别请求,这样会有重复请求;
  4. 通过vuex来保存请求的值共享,但感觉有点大材小用;
  5. 通过事件总线来传递,但是我每个页面打开希望重新查一次并且结果不影响其他页面,用事件总线除了当前打开页面还会影响缓存的页面。

目前的方案中我选了第二种,但感觉这几种方式都不太合理,想想在vue2中有没有更优雅的写法呢?

  • 写回答

5条回答 默认 最新

  • Nymph_Zhu 2025-04-30 13:26
    关注

    你可以把这两个子组件里面的公共部分再封装成一个共同的组件,请求就写在这个共同的组件里面,这样两个子组件都可以使用到

    评论

报告相同问题?

问题事件

  • 创建了问题 4月30日