zoukankan      html  css  js  c++  java
  • 列表嵌套列表 取父元素的值 拼接 字段A.字段A1.字段A11

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <style type="text/css">
            .forComponent {
                border: 1px solid gray;
            }
    
            <style>
        </style>
    </head>
    
    <body>
    
        <script type="text/template" id="item-template">
          <div>
              <div class='forComponent'>
                <h4>{{parent}}.{{model.name}}</h4>
              </div>
              <div class='suojin'>
                  <item v-for='child in model.children' :model='child' :parent="parent+'.'+model.name"></item>
              </div>
          </div>
      </script>
    
        <div id='demo'>
            <item v-for='model in treeData' :model='model' parent="HOME"></item>
        </div>
    
        <script type="text/javascript"> 
            var data = [{ "id": "62", "name": "字段a", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "64", "name": "字段a1", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "65", "name": "字段a11", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }, { "id": "70", "name": "字段a12", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] }] },
            { "id": "63", "name": "字段b", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "66", "name": "ziduanb1", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] },
            { "id": "67", "name": "字段c", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 },
            { "id": "68", "name": "字段D", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "69", "name": "字段D1", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] },
            ]
            
            Vue.component("item", {
                template: '#item-template',
                props: {
                    model: Object,
                    parent: String
                },
                data: function () {
                    return {
    
                    }
                }
            })
    
            var demo = new Vue({
                el: '#demo',
                data: {
                    treeData: data,
                }
            })
        </script>
    </body>
    
    </html>

    另一种情况:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <style type="text/css">
            .forComponent {
                border: 1px solid gray;
            }
    
            <style>
        </style>
    </head>
    
    <body>
    
        <script type="text/template" id="item-template">
          <div>
              <div class='forComponent'>
                <h4>{{parent ? parent +'.' +model.name : model.name}}</h4>
              </div>
              <div class='suojin'>
                  <item v-for='child in model.children' :model='child'  :parent="parent ? parent+'.'+model.name : model.name"></item>
              </div>
          </div>
      </script>
    
        <div id='demo'>
            <item v-for='model in treeData' :model='model' parent=""></item>
        </div>
    
        <script type="text/javascript"> 
            var data = [{ "id": "62", "name": "字段a", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "64", "name": "字段a1", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "65", "name": "字段a11", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }, { "id": "70", "name": "字段a12", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] }] },
            { "id": "63", "name": "字段b", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "66", "name": "ziduanb1", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] },
            { "id": "67", "name": "字段c", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 },
            { "id": "68", "name": "字段D", "key": "", "value_type": "2", "tips": "", "order_id": null, "children": [{ "id": "69", "name": "字段D1", "key": "", "value_type": "2", "tips": "", "order_id": null, "display": 1 }] },
            ]
            
            Vue.component("item", {
                template: '#item-template',
                props: {
                    model: Object,
                    parent: String
                },
                data: function () {
                    return {
    
                    }
                }
            })
    
            var demo = new Vue({
                el: '#demo',
                data: {
                    treeData: data,
                }
            })
        </script>
    </body>
    
    </html>

  • 相关阅读:
    JDBC
    Ajax:一种不用刷新整个页面便可与服务器通讯的办法
    Maven——自动化构建工具
    SSM整合
    MyBatis框架
    SpringMVC框架、Spring boot框架、SSM區別
    Spring开源框架
    切入点表达式
    面向切面编程之cglib代理方式
    动态JDK代理方式-实现类增强
  • 原文地址:https://www.cnblogs.com/MR-cui/p/8065262.html
Copyright © 2011-2022 走看看