<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <script src="vue.js"></script>
    </head>
    <body>
        <div>
        <h1>--组件之间的循环引用--</h1>
        <div id="example1">
            <tree-folder v-bind:folder="folder"></tree-folder>
        </div>
        <script>
        // 定义组件
        Vue.component('tree-folder', {
            props: {
                folder: Object
            },
            template: '\
                <p>\
                    <span>{{ folder.name }}</span>\
                    <tree-folder-contents v-bind:children="folder.children"></tree-folder-contents>\
                </p>\
            '
        })
        Vue.component('tree-folder-contents', {
            props: {
                children: Array
            },
            template: '\
                <ul>\
                    <li v-for="child in children">\
                        <tree-folder v-if="child.children" v-bind:folder="child"></tree-folder>\
                        <span v-else>{{ child.name }}</span>\
                    </li>\
                </ul>\
            '
        })
        // Vue 根实例
        var example1 = new Vue({
            el: '#example1',
            data: {
                folder: {
                    name: 'RootFolder',
                    children: [
                        {
                            name: 'OS',
                            children: false
                        },
                        {
                            name: 'Games',
                            children: [{name: 'LOL', children: false}, {name: 'TANKS', children: false},]
                        },
                        {
                            name: 'Works',
                            children: false
                        },
                        {
                            name: 'Files',
                            children: false
                        }
                    ]
                }
            }
        })
        </script>
        </div>
    </body>
</html>

运行效果图: