美文网首页
树形结构递归/原生js实现/vue递归组件

树形结构递归/原生js实现/vue递归组件

作者: Raral | 来源:发表于2021-01-08 15:06 被阅读0次

原生js实现递归渲染

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>后台
            <!-- <ul>
                <li>数据库</li>
            </ul> -->
        </li>
        <li>前端
            <!-- <ul>
                <li>vue</li>
            </ul> -->
        </li>
    </ul>
</body>
<script>
    let treeData = [
        {
            name:"后台",
            children: [
                {
                    name: "数据库",
                }, {
                    name: "服务器",
                }, {
                    name: "java",
                }
            ]
        },{
            name:"前端",
            children: [
                {
                    name: "vue",
                }, {
                    name: "react",
                }, {
                    name: "angular",
                }
            ]
        }
    ]
    // 纯字符串拼接
    // let str = "";
    // str += "<ul>"
    // for(var i = 0; i < treeData.length; i ++) {
    //     str += "<li>" +  treeData[i].name  +
    //                 if(treeData[i].children.length > 0) {
    //                     for(var j = 0; j < treeData[i].children[j].length; j ++ ) {
    //                         "<ul>" +
    //                             "<li>" + treeData[i].children[j].name + "</li>" +
    //                          "</ul>"   
    //                     }
    //                 }
    //             + "</li>"
    // }
    // str +="</ul>"
    // document.body.innerHTML = str;

    // 递归 
    // let str = "";
    // function recur(tree) {
    //     for(var i = 0; i < tree.length; i ++) {
    //         str += `
    //             <ul>
    //                 <li>${tree[i].name}</li>
    //                ${tree[i].children.length > 0 && recur(tree[i].children)}
    //             </ul>
    //         `
    //     }
    // }
    // recur(treeData);
    // document.body.innerHTML = str;

    //

    var loop = (treeData) => {
        return treeData.map(e => {
            return  e.children?
            `<div>
                <div>${e.name}</div>
                <ul>
                    <li style="padding-left: 20px">${loop(e.children)}</li>
                </ul>
            </div>
            `
        : 
        `
            <div>
                ${e.name}
            </div>
        `


        })
    }
    var html = loop(treeData).join("");
    console.log(html);
    document.body.innerHTML = html



</script>
</html>

Vue2.0递归组件

相关文章

  • 树形结构递归/原生js实现/vue递归组件

    原生js实现递归渲染 Vue2.0递归组件

  • 父子组件通信

    vue之父子组件间通信实例讲解(props、emit) Vue.js 递归组件实现树形菜单(实例分享)

  • vue组件递归

    管理系统中很多这样树形菜单显示的,这里要用到组件的递归来完成,这里我们来学习下vue关于组件递归的实现。 ...

  • 15.实战 7:树形控件——Tree

    实战 7:树形控件——Tree 本小节基于 Vue.js 的递归组件知识,来开发一个常见的树形控件—Tree。 T...

  • vue 组件递归

    组件递归常用到的栗子就比如树形结构的创建,需要自调用进行递归渲染下面是递归组件渲染tree的效果图: 2.调用组件...

  • vue 递归组件

    vue 递归组件 前言 对于一些有规律的 dom 结构,我们可以通过递归方式来生成这个结构,,那么在 vue 的模...

  • Vue-JSX

    基础案例: 效果图如下图一.png 案例:递归实现树形组件 效果图如图二图二.png Vue-jsx参考

  • 递归组件—树形结构效果

    递归组件treeMenu : 使用用法: 效果图:

  • 子组件递归调用问题

    需求要实现一个无限极的树形结构,遇到的问题 1. 无限极的组件递归实现(接口返回的是一维数组需要自己转成树形数据结...

  • element 树形转 el-tabs导航

    element 树形转 el-tabs导航 使用组件递归

网友评论

      本文标题:树形结构递归/原生js实现/vue递归组件

      本文链接:https://www.haomeiwen.com/subject/dplfaktx.html