vue项目中父组件加载时不加载子组件的方法?
详情:发现一个问题,vue项目中父页面引入了子组件,子组件里面也会有后端接口请求,当父页面加载时并没有使用子组件时,子组件里面的后端请求也发生了,如何让父页面加载时,若还没有使用触发子组件,就不加载子组件后端接口请求的方法?
回答:
“子组件里面的后端请求也发生了”,
有两个前提
- 父组件的 template 使用了子组件
- 子组件的请求是自发请求的,也就是请求方法挂在了某个一开始就执行的生命周期
有两个方案可以解决,
- 子组件不自发请求,把请求封装一个方法,父组件通过 $ref 的方式获取子组件的这个方法。
子组件监听一个来自父组件的 id,如果 id 改变就触发方法,如:
父组件:<child id="id"/>
data(){
return {
id:+new Date()
}
}
// 触发
id++
子组件:
watch:{
id(){ // 调用方法 }
}
以上是 vue项目中父组件加载时不加载子组件的方法? 的全部内容, 来源链接: utcz.com/p/936086.html