返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Angluar+zorro实现无限级菜单
  • 746
分享到

Angluar+zorro实现无限级菜单

2024-04-02 19:04:59 746人浏览 八月长安
摘要

关于angular + zorro 实现无限级菜单,供大家参考,具体内容如下 该文章为思路+代码,为通用式前端无限级菜单。 首先通过后台接收到的数据是这样的 "table":[  

关于angular + zorro 实现无限级菜单,供大家参考,具体内容如下

该文章为思路+代码,为通用式前端无限级菜单。

首先通过后台接收到的数据是这样的

"table":[
    {
    "id": 1017.0,
    "menuName": "用户管理",
        "child":[{
            "id": 23.0,
            "menuName": "用户维护",
            "child": [{
                    "id": 24.0,
                    "menuName": "用户查看",
                    "child":[{
                               "id": 25.0,
                            "menuName": "用户增加",
                               "child":[]
                    }]
                },
                {
                    "id": 25.0,
                    "menuName": "用户增加",
                    "child":[]
                }
            ]
        }]
    },
    {
    "id": 1018.0,
    "menuName": "微信管理",
    "child":[]    
    }
]

实现步骤如下:

1. uc-home.component.html

<!--
strhtml : 需要展示的数据
innerhtmlpipe :添加管道,让数据拥有样式
-->
<div [innerHTML]="strHtml | innerhtmlpipe"></div>

2. 因为通过在component.ts进行数据拼接传到页面样式不会显示,所以使用Angular提供的管道让其有样式。

2.1新建一个管道

命令: ng g pipe innerhtmlpipePipe

2.2.

innerhtmlpipePipe.pipe.ts

import { Pipe, PipeTransfORM } from '@angular/core';
import {DomSanitizer} from '@angular/platform-browser';

@Pipe({
  name: 'innerhtmlpipe'
})
export class InnerhtmlpipePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
  transform(value): any {
      //样式
    return this.sanitizer.bypassSecurityTrustHtml(value);
  }

}

3.uc-home.component.ts

import {Component, OnInit, ChangeDetectorRef} from '@angular/core';
import {Router, NavigationEnd} from '@angular/router';


@Component({
  selector: 'nb-uc-home',
  templateUrl: './uc-home.component.html',
  styleUrls: ['./uc-home.component.sCSS'],
  animations: [slideInAnimation]
})

export class UcHomeComponent implements OnInit {
    //定义一个 strHtml
    public  strHtml;
    //数据
    public menuArray = [];
    
     constructor(
         private homeService: HomeService,
         private ref: ChangeDetectorRef
     ) {}
    nGonInit() {
           //从后台接口获取数据,赋值给menuArray
   this.homeService.getMenu().subscribe(data => {
       //赋值数据
        this.menuArray = data.table;
           //初始化页面
        this.strHtml = '';
       //遍历每一个数据
  for (let i = 0; i < this.menuArray.length; i++) {
      
        const arr = this.menuArray[i];
//开始拼接页面
        this.strHtml += '<ul nz-menu [nzMode]="\'inline\'" style="height:auto" >';
          this.strHtml +='<li nz-submenu>';
        this.strHtml += '<div menuEvent title>';
        this.strHtml +='<span type="laptop">' + arr.menuName + '</span>' ;
          this.strHtml +='</div>';
      //遍历到孩子的时候调用一个方法,循环把孩子全部遍历出来
        this.strHtml += this.creatHtml(arr.child);
        this.strHtml += '</li>';
          this.strHtml += '</ul>';
      }
        //数据加载完毕之后重新渲染页面
             this.ref.markForCheck();
      });      
    }

    
 creatHtml(cArr): any {
    let str = '';
    for (let i = 0; i < cArr.length; i++) {
      str += '<ul>';
      str += '<li nz-menu-item';
      str += '<div menuEvent>';
      str += '<span>' + cArr[i].menuName +'</span>';
      str += '</div>';
      str += '</li>';
      str += '</ul>';
    }
     //是否存在子集
    if (cArr.child) {
      str += this.creatHtml(cArr.child);
    }
    this.ref.markForCheck();
    return str;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Angluar+zorro实现无限级菜单

本文链接: https://lsjlt.com/news/143950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Angluar+zorro实现无限级菜单
    关于Angular + zorro 实现无限级菜单,供大家参考,具体内容如下 该文章为思路+代码,为通用式前端无限级菜单。 首先通过后台接收到的数据是这样的 "table":[   ...
    99+
    2024-04-02
  • Vue3.0实现无限级菜单
    业务需求 菜单项是业务系统的重要组成部分,一般业务系统都要支持显示多级业务菜单,但是根据每个业务人员的权责不同,看到的的菜单项也是不同的。 这就要求页面可以支持无限极菜单显示,根据每...
    99+
    2024-04-02
  • Ajax怎么实现无限级菜单
    本篇内容主要讲解“Ajax怎么实现无限级菜单”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ajax怎么实现无限级菜单”吧!支持Form的无闪提交(方法有点笨)支...
    99+
    2024-04-02
  • Vue2组件tree如何实现无限级树形菜单
    小编给大家分享一下Vue2组件tree如何实现无限级树形菜单,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!How to run ...
    99+
    2024-04-02
  • vue+el-menu实现菜单栏无限多层级分类
    本文实例为大家分享了vue+el-menu实现菜单栏无限多层级分类的具体代码,供大家参考,具体内容如下 思路:数据格式须为数组内部多层嵌套模式,利用递归渲染菜单栏数据实现菜单多层级分...
    99+
    2024-04-02
  • vue+el-menu如何实现菜单栏无限多层级分类
    这篇文章主要介绍了vue+el-menu如何实现菜单栏无限多层级分类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下思路:数据格式须为数组内部多层嵌套模式,利用递归...
    99+
    2023-06-29
  • jQuery如何实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
    这篇文章主要介绍jQuery如何实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、手风琴菜单效果图及代码如下:<!DOCTYPE...
    99+
    2024-04-02
  • Vue3Element-plusel-menu无限级菜单组件封装过程
    目录 一、定义数据二、封装组件 三、使用组件对于element中提供给我们的el-menu组件最多可以实现三层嵌套,如果多一层数据只能自己通过变量去加一层,如果加...
    99+
    2023-05-17
    Vue3 Element-plus el-menu无限级 Vue3 Element-plus 无限级菜单 el-menu无限级菜单组件
  • React四级菜单的实现
    效果图 JS import { Fragment, useState } from 'react'; import styles from './style.less'; cons...
    99+
    2024-04-02
  • Python下三级菜单实现
    今天学了一个三级菜单,甚是开心!!! 1.流程图 2.代码如下: #!/usr/bin/env python #name bearcatfly university_list = { # 大学列表 "安...
    99+
    2023-01-31
    菜单 Python
  • 详解织梦dedecms5.7 无限级多级栏目菜单调用方法
    以前在用到5.7无限级栏目列表菜单时下载了网上的资料都未成功,因此我参考网上及dedecms本身的channel.lib.php及cattree.lib.php制作了调用标签。 1、在include\taglib建立ra...
    99+
    2022-06-12
    dedecms5.7 无限级 多级栏目 菜单调用
  • Android实现横向二级菜单
    本文实例为大家分享了Android二级横向菜单的实现过程.效果如上图:     这种横向的二级菜单在很多的app都有所应用.效果看起来还是非常的美观的.也算...
    99+
    2022-06-06
    菜单 Android
  • 如何实现jQuery级联菜单
    这篇文章主要为大家展示了“如何实现jQuery级联菜单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现jQuery级联菜单”这篇文章吧。具体内容如下层叠样...
    99+
    2024-04-02
  • vue递归实现三级菜单
    本文实例为大家分享了vue递归实现三级菜单的具体代码,供大家参考,具体内容如下 父组件 <template> <div class="menu-leve...
    99+
    2024-04-02
  • CSS如何实现多级菜单
    这篇文章主要为大家展示了“CSS如何实现多级菜单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS如何实现多级菜单”这篇文章吧。   这是一个相当炫的功能,...
    99+
    2024-04-02
  • React四级菜单怎么实现
    本文小编为大家详细介绍“React四级菜单怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“React四级菜单怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果图JSimport {&nb...
    99+
    2023-06-29
  • react如何实现三级菜单
    这篇文章主要讲解了“react如何实现三级菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现三级菜单”吧!react实现三级菜单的方法:1、创建展开三级父级菜单的方法为“o...
    99+
    2023-07-05
  • python 字典实现三级菜单
    简介:1.用字典建立一个省市县的三级菜单    2.开始显示所有的省份,输入要进入的省份之后,显示该省份下的所有市,输入市显示该市下的所有县    3.在每一级菜单下都可以返回到上一层菜单    4.随时可以退出 1 menu =...
    99+
    2023-01-30
    字典 菜单 python
  • JavaScript实现伸缩二级菜单
    JavaScript实现伸缩二级菜单的具体代码,供大家参考,具体内容如下 伸缩二级菜单: 案例说明:效果图如下,一次只能打开一个,打开后,+ 号变 - 。 HTML 代码 &l...
    99+
    2024-04-02
  • vue实现多级菜单效果
    本文实例为大家分享了vue实现多级菜单效果的具体代码,供大家参考,具体内容如下 效果图: 效果说明: 点击父菜单,如果有子菜单就在其左侧显示出子菜单 思路: 通过递归的方式。 代码...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作