vue 循环 递归组件_【求助】vue组件递归调用异常问题

问题描述

组件A里面引用组件B,组件B同时又引用组件A,就这么简单,但是总是报如下错误:

[Vue warn]: Failed to mount component: template or render function not defined

最小复现代码

index.vue:

.test-node {

border: solid 1px #aaa;

margin: 8px;

padding: 8px;

}

测试Vue组件递归循环调用:

import Nodes from './nodes';

export default {

components: {

Nodes,

},

data() {

return {

nodes: [

{name: 'function', id: 1},

{name: 'hsf', id: 2},

{name: 'loop', id: 3, children: [

{name: 'child1', id: 4},

{name: 'child2', id: 5},

]},

{name: 'test', id: 6},

]

}

}

}

nodes.vue:

import Node from './node';

export default {

components: {

Node,

},

name: 'nodes',

props: {

nodes: Array

},

}

node.vue:

{{node.name}}

import Nodes from './nodes';

export default {

components: {

Nodes,

},

props: {

node: Object

},

}

结果

期望效果:

实际效果:

并且控制台报错:

已知没问题的写法

丢弃node.vue,把node.vue的代码copy到nodes.vue里面就没问题:

修改后的nodes.vue:

{{node.name}}

import Node from './node';

export default {

components: {

Node,

},

name: 'nodes',

props: {

nodes: Array

},

}

待解决

至于为什么分开写会报错,找了1天了还没找到原因,如果有知道的欢迎评论指出!跪谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值