Vue中组件嵌套引用

Vue中组件嵌套引用

需求

工作中难免会遇到需要在父组件中使用子组件,子组件中又需要引用父组件的情况,简称“套娃引用”。一般出现场景有Menu、Nav组件。小乌龟在最近工作中遇到一种情况,组件A有个子组件B,组件B回去判断当前应用依赖的应用是否已经部署,如果未部署,再打开一个组件A先部署依赖应用(套娃地狱)。

问题

功能逻辑都不复杂,但是当在组件B中引用组件A时,会报组件未定义或应用错误。反复检查拼写、路径是否错误,结果都没问题。想到了应该是组件嵌套引用的问题,导致Vue运行时不是知道先加载那个组件。由于import是依赖导入,组件A的运行依赖组件B,组件B的运行又依赖组件A,导致运行失败。

解决

父子组件,都使用异步导入

// child.vue
components: {
  'father': () => import('./father'),
}
// father.vue
components: {
  'child': () => import('./child'),
}

也可以使用

// child.vue
components: {
  'father': (resolve) => require(['./father'], resolve),
}
// father.vue
components: {
  'child': (resolve) => require(['./child'], resolve),
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值