vue项目中父组件加载时不加载子组件的方法?

发布于 2022-09-13 01:21:05 字数 119 浏览 17 评论 0

详情:发现一个问题,vue项目中父页面引入了子组件,子组件里面也会有后端接口请求,当父页面加载时并没有使用子组件时,子组件里面的后端请求也发生了,如何让父页面加载时,若还没有使用触发子组件,就不加载子组件后端接口请求的方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恋你朝朝暮暮 2022-09-20 01:21:05

“子组件里面的后端请求也发生了”,
有两个前提

  1. 父组件的 template 使用了子组件
  2. 子组件的请求是自发请求的,也就是请求方法挂在了某个一开始就执行的生命周期

有两个方案可以解决,

  1. 子组件不自发请求,把请求封装一个方法,父组件通过 $ref 的方式获取子组件的这个方法。
  2. 子组件监听一个来自父组件的 id,如果 id 改变就触发方法,如:
    父组件:

    <child id="id"/>
    
    
    data(){
     return {
         id:+new Date()
     }
    }
    
    
    // 触发
    id++
    

    子组件:

    watch:{
     id(){ // 调用方法 }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文