Я хочу, чтобы Vue рекурсивно генерировал структуру данных с v-for
, где мои данные имеют следующий формат:
Данные
var myObj = {
parent: {
child1: {
last_child1: {
test: null
}
}
}
}
Код в NodeTree.vue
(ниже)имеет некоторые логические проблемы в результате, нет вывода. Может ли кто-нибудь помочь мне получить логический код в NodeTree.vue
вправо
Вот ссылка на рабочую коды и демонстрационную коробку
Вот моя иерархия компонентов:
<code><pre>
App.vue
|
|_Tree.vue
|
|_NodeTree.vue
Вот мой источник Vue SFC:
Tree.vue
<template>
<div class="tree">
<ul class="tree-list">
<NodeTree :treeData="data" />
</ul>
</div>
</template>
<script>
import NodeTree from "./NodeTree";
export default {
props: ["data"],
components: {
NodeTree
}
};
</script>
<style>
.tree-list ul {
padding-left: 16px;
margin: 6px 0;
}
</style>
NodeTree.vue
<template>
<li>
<span class="label">{{ el }}</span>
<ul>
<li :key="idx" v-for="(item,idx) in treeData">
<mynode :key="pos"
v-for="(el, pos) in item"
:treeData="el" />
</li>
</ul>
</li>
</template>
<script>
export default {
name: "mynode",
props: {
treeData: Array
}
};
</script>
<style>
.label {
display: block;
border: 1px solid blue;
}
.bor {
border: 1px solid red;
}
</style>
Приложение. vue
<template>
<div id="app">
<tree :data="folder_Names" >
</tree>
</div>
</template>
<script>
import Tree from "./components/Tree";
export default {
name: "App",
data() {
return {
folder_Names: {
parent: {
child1: {
last_child1: {
test: null
}
}
}
}
}
},
components: {
Tree
}
};
</script>
Любая помощь приветствуется.
Спасибо