首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

angular5到n级的JSON到侧边菜单生成

Angular是一种流行的前端开发框架,它可以帮助开发者构建高性能、可扩展的Web应用程序。JSON是一种数据格式,常用于前后端数据交互。侧边菜单是一种常见的网页布局组件,用于显示页面的导航菜单。

在Angular中,我们可以通过使用HttpClient模块从后端获取JSON数据。然后,我们可以使用*ngFor指令遍历JSON数据,生成侧边菜单的各个项。

首先,我们需要在Angular项目中引入HttpClient模块。在app.module.ts文件中,我们可以这样导入:

代码语言:txt
复制
import { HttpClientModule } from '@angular/common/http';

然后,在NgModule的imports数组中添加HttpClientModule:

代码语言:txt
复制
@NgModule({
  imports: [
    HttpClientModule
  ],
  ...
})

接下来,我们可以在一个服务中编写代码来获取JSON数据。假设我们有一个名为MenuService的服务:

代码语言:txt
复制
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class MenuService {
  private jsonUrl = 'assets/menu.json';

  constructor(private http: HttpClient) { }

  getMenuData(): Observable<any> {
    return this.http.get<any>(this.jsonUrl);
  }
}

在上述代码中,我们通过HttpClient的get方法从assets/menu.json文件中获取JSON数据。

接下来,我们可以在组件中调用MenuService来获取JSON数据并生成侧边菜单。假设我们有一个名为MenuComponent的组件:

代码语言:txt
复制
import { Component, OnInit } from '@angular/core';
import { MenuService } from '../menu.service';

@Component({
  selector: 'app-menu',
  templateUrl: './menu.component.html',
  styleUrls: ['./menu.component.css']
})
export class MenuComponent implements OnInit {
  menuData: any[];

  constructor(private menuService: MenuService) { }

  ngOnInit(): void {
    this.getMenuData();
  }

  getMenuData(): void {
    this.menuService.getMenuData()
      .subscribe(data => {
        this.menuData = data;
      });
  }
}

在上述代码中,我们通过调用MenuService的getMenuData方法获取JSON数据,并将其赋值给menuData变量。

最后,我们可以在menu.component.html模板文件中使用*ngFor指令遍历menuData,生成侧边菜单的各个项。假设侧边菜单的每个项都有一个name属性和一个url属性:

代码语言:txt
复制
<ul>
  <li *ngFor="let item of menuData">
    <a [href]="item.url">{{ item.name }}</a>
  </li>
</ul>

通过以上代码,我们可以将JSON数据转换为侧边菜单,并显示在页面上。

在腾讯云中,推荐使用云存储服务(COS)来存储静态资源文件,例如上述代码中的menu.json文件。您可以通过以下链接了解腾讯云COS的相关产品和详细介绍:

腾讯云对象存储(COS):https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Python】循环语句 ⑤ ( range 语句 | for 循环本质遍历序列 | 生成由 0 开始 n 序列 | 生成由 m n 序列 | 生成由 m n 步长为 k 序列 )

- 生成由 0 开始 n 序列 range 语法 1 : 生成 由 0 开始 n 序列 , 不含 n 本身 ; range(n) 代码示例 : """ range 代码示例 """ my_range...= range(6) print(list(my_range)) 执行结果 : [0, 1, 2, 3, 4, 5] 2、range 语法 2 - 生成由 m n 序列 range 语法 2...: 生成 由 m n 序列 , 不含 n 本身 ; range(m, n) 代码示例 : my_range = range(1, 6) print(list(my_range)) # 输出:[1..., 2, 3, 4, 5] 执行结果 : [1, 2, 3, 4, 5] 3、range 语法 3 - 生成由 m n 步长为 k 序列 range 语法 3 : 生成 由 m n 步长为...k 序列 , 不包含 n ; 下面的代码是 生成 0 10 之间偶数序列 , 不包括 10 本身 ; 代码示例 : """ range 代码示例 """ my_range = range(0

20620
  • 微服务引入swagger生成接口json导入yapi配置方法 数据管理 开启url导入

    微服务引入swagger生成接口json导入yapi配置方法 数据管理 开启url导入 yapi安装参考 window10 yapi安装 swagger配置 及 Error: getaddrinfo...value="id,不作展示,查看或编辑使用") private Integer id; 通过http://ip:port/swagger-ui.html进行查看,同时可以输入接口参数,手动执行简单测试...; 进入yapi数据管理页面,通过swagger方式,输入swaggerjson文件对应url:http://{ip}:{port}/{project Name}/v2/api-docs 执行数据导入操作...,如:http://127.0.0.1:8080/renren-fast/v2/api-docs 如果该项目存在{project Name}访问路径情况下。...如果是在不同局域网机器,需要通过局域网IP来导入。

    12110

    ionic3升适配angular5

    昨天angular5和ionic3同时发布更新了,为了用上angular5新特性,还是有必要踩下坑,当然踩坑白老鼠建议选用一个最近不用维护项目。...angular5最新beta版 在ionic3官网建议是更新依赖angular5.0.0版本,而根据上述说明,优先选择做了做了bug修复angular5.0.1版。...于是我们升级步骤如下: 一、更新包依赖 删除package-lock.json和node_modules,然后修改package.json如下: "dependencies" : { ......更新说明: ---- 更改内容: I18n更改; 内置管道如Date、Currency、Percent更改; 弃用内容: compiler: ngGetContentSelectors()在v4版本被移除...现在移除,用SerializerTypes.PRIMITIVE代替; ---- 看上去内容很多,但不要被吓到,因为从内核级别看是改动比较多,但从项目应用上只是个别地方要调整,基本向下兼容,故angular4angular5

    2.5K40

    搭建后台管理系统思路

    个人体会是整体基础框架,这个是指最基础框架,比如根 router-view, 侧边栏以及侧边router-view,以及顶部栏,等基础布局控制。...组件 NavMenu 导航菜单 侧边导航栏需要我们路由一些信息,比如路由对应组件,就像 router-link 对应 router-view 如果菜单是二菜单,三菜单,需要怎么处理 如果需要折叠菜单...,需要怎么处理,这里就需要阅读 折叠菜单组件 也就是说侧边菜单来其实就是一个个 router-link 然后扩展菜单项是否有 icon 小图标,是否有标题存在,那么路由就需要设置 meta 属性了 顶部栏...面包屑 消息通知 下拉菜单 关闭展开侧边栏按钮 面包屑 需要注意什么呢?...需要注意是否需要点击跳转,定位那一菜单问题 需要研究 Breadcrumb 面包屑 关闭展开侧边栏按钮 需要使用 vuex 来存储打开与否这个状态值,通过 vuex 来更改状态 AppMain.vue

    2.8K20

    Core + Vue 后台管理基础框架4——前端授权

    1、前言   上篇,我们讲了后端授权。与后端不同,前端主要是通过功能入口如菜单、按钮显隐来控制授权。具体来讲,就是根据指定用户制定权限来加载对应侧边菜单和页面内功能按钮。我们一个个来讲。...截图中,上边红框代表是在注册路由跳转前回调钩子,此钩子可以根据具体情况决定是否需要导航目的路由或导航其他路由。...下边红框先调用menu store中获取侧边栏action,从后端拿到本用户具有权限侧边菜单: ?   ...从后端拿到侧边菜单json,前端是没办法直接使用,一堆json对象或者字符串,与Vue路由、视图并没法儿无缝衔接,所以上边我们看到调用了travseRoutes方法,此方法在前端工具类route.js...3、功能按钮   大部分项目都做到了菜单权限控制,但做到页面级别的,倒是不多。毕竟他该多,而且也是要费点儿功夫。那这里我们就来看看前端是如何实现按钮权限控制

    74710

    SaaS-多租户SaaS平台数据库方案(前端框架)

    3 前端框架 3.1 脚手架工程 技术栈 vue 2.5++ elementUI 2.2.2 vuex axios vue-router vue-i18n 前端环境 node 8.++ npm 5.++...如果以后做真正企业开发,建议开启 (4)输入命令: npm run dev 3.3 工程结构 整个前端工程工程目录结构如下: ├── assets...路由和菜单是组织起一个后台应用关键骨架。...本项目侧边栏和路由是绑定在一起,所以你只有在@/router/index.js 下面配置对应路由,侧边栏就能动态生成了。大大减轻了手动编辑侧边工作量。...3.4.2 前端数据交互 一个完整前端 UI 交互服务端处理流程是这样: UI 组件交互操作; 调用统一管理 api service 请求函数; 使用封装 request.js 发送请求; 获取服务端返回

    2.4K20

    团队技术文档构建利器vuepress上手实践

    ── styles (可选) 用户存放样式相关文件 │ │ │ ├── index.styl 将会被自动应用全局样式文件,会生成在最终css文件结尾,具有比默认样更高级优先 │...3.1.3 侧边栏(sidebar) themeConfig.sidebar 侧边栏一般用于文档目录索引,可以直接在 config.js 中配置链接数组,也在页面中配置 sidebar:auto 自动生成侧边栏目录...,但是自动生成只能生成当前页。...侧边栏还支持以下更加细节设置: 设置嵌套层数 是否展开所有 标题链接是否激活(禁用可以懒加载提升性能) 分组 侧边栏分页面定制 禁用 3.1.4 搜索框(search box) themeConfig.search...css文件结尾,具有比默认样式更高优先,palette.styl 用于重写默认样式常量,或者设置新 stylus 颜色常量,如: $accentColor = #3eaf7c $textColor

    2.4K94

    用Axure画出Web后台产品菜单栏组件

    默认展开左侧菜单页面处于某一页面的时候,对应菜单项都会处于选中状态并呈现不同样式。点击一分类即可收起对应页面,再次点击即可展开。默认进入首页,同时首页对应菜单处于选中状态。...从默认元件库中拖动“矩形1”工作区合适位置,修改尺寸为(160,40),双击输入文字表示首页,字号修改为16px,左侧对齐然后左侧边距修改为40px。2、再画首页图标。...从默认元件库中拖动“图片”矩形中合适位置,尺寸修改为(20,20),样式点击“调整颜色”图标,勾选调整颜色,饱和度拖动到最左边变成0。3、再画首页文字选中样式。...10、在左侧母版区域,右键母版“菜单栏”,点击“添加到页面中…”然后点击“全选”,勾选“置于底层”,最后点击确定。11、生成原型HTML并查看原型效果。02 画出有交互原型12、先画进入首页交互。...右侧边栏切换到“交互”,点击“新建交互”按钮,选择触发事件“单击时”,添加动作“打开链接”,链接到“对应页面”,点击“确定”按钮。14、再画一分类交互。

    19920

    团队技术文档构建利器vuepress上手实践

    ── styles (可选) 用户存放样式相关文件 │ │ │ ├── index.styl 将会被自动应用全局样式文件,会生成在最终css文件结尾,具有比默认样更高级优先 │...3.1.3 侧边栏(sidebar) themeConfig.sidebar 侧边栏一般用于文档目录索引,可以直接在 config.js 中配置链接数组,也在页面中配置 sidebar:auto 自动生成侧边栏目录...,但是自动生成只能生成当前页。...css文件结尾,具有比默认样式更高优先,palette.styl 用于重写默认样式常量,或者设置新 stylus 颜色常量,如: $accentColor = #3eaf7c $textColor.../usr/bin/env sh # 确保脚本抛出遇到错误 set -e # 生成静态文件 npm run docs:build # 进入生成文件夹 cd docs/.vuepress/dist #

    1.3K20

    EaseMobile 主题导航菜单设置小图标的方法(图文+视频教程)

    Off Canvas 侧边栏导航与WordPress 菜单对应 EaseMobile 主题Off Canvas 侧边栏导航在后台中是通过WordPress 菜单”项设置,如下图,这个是前台与“...小图标的设置·打开“图像描述” 在实际使用中,当你设置好菜单项后,接下来就要为每个菜单项设置独一无二小图标了(有了小图标的陪衬,侧边栏才好看嘛)。添加小图标是通过菜单项中“图像描述”来。...上传json 文件、4个svg 文件fontello 先下载该文件包,解压缩后,里面有4个 svg 格式文件以及一个config.json 文件。 ? ?...一、首先你用浏览器进入 http://fontello.com/,等网站加载完毕。 ? ? 二、拖拽上传这5 个文件(4个 svg 格式文件以及一个config.json 文件)首页。 ? ?...二、一面打开主题目录下fontello文件夹,一面打开fontello-xxxx.zip 文件下一目录(见图),然后解压这些文件覆盖主题目录下fontello文件夹下,覆盖源文件。 ? ?

    2.1K80

    开发工具总结(15)之Vuepress制作文档并发布GitHub

    .vuepress/styles/index.styl 将会被自动应用全局样式文件,会生成在最终 CSS 文件结尾,具有比默认样式更高优先。...---- 六、配置详解 (一)package.json配置 路径为:hello_vuepress/package.json 开始4行是运行yarn init -y自动生成,这里scripts节点里面配置两个启动命令...侧边栏标题优先 可以通过上文提到 YAML front matter 来设置侧边嵌套标题链接最大深度。...c.自动生成侧边栏 所有页面启用自动生成侧边栏: module.exports = { themeConfig: { sidebar: 'auto' } } 如果设置了多语言模式,可以指定特定语言启动自动生成侧边栏...如果发布https://用户名.github.io/二路径,则将base设置成二路径。

    3.9K50

    后台管理系统 – 页面布局设计

    vue-element-admin采用侧边菜单布局,侧边菜单 + 顶部导航 + 内容区域,这也是我个人最推崇布局方式。...(3)混合菜单布局 其实和侧边菜单布局大同小异,还是属于侧边菜单布局范畴。 只不过这样布局的话,面包屑导航就不适合和顶部放一行了,只能另起一行。...侧边实现方式是难点,因为这里即涉及如何和路由数据匹配,又涉及权限筛选。...侧边栏最好是和路由配置共用一套数据,方便扩展和维护,这里得益于 react-router-waiter 已经封装好路由管理方案(类vue-router),所以直接读取路由配置数据,动态生成菜单组件结构...三菜单11),展示出来。

    7.3K51

    手把手教你用vuepress搭建自己网站(2)

    其中导航栏链接分为三种:一 nav,链接,二下拉菜单,带标题多级分类菜单 nav,直接带路由即可 themeConfig: { nav: [ { text: '首页', link...如果想 nav 二下拉菜单,如下配置,link属性值带有链接,会直接是链接,若不是那就是路由,在vuepress中提供了一个items属性,配置二导航如下所示 themeConfig:{ nav...如果你想要二菜单带有标题,分类菜单形式,如下配置 themeConfig:{ nav: [{text: "主页", link: "/" }, { text: '网站',...link: 'http://doc.itclan.cn' }, // 后面直接是链接 { text: "前端", // 二菜单配置...你可以按照这个类似的结构,无限制配置下去 光有 nav 导航是不够,下面来配置一下侧边栏,怎么配置侧边栏才是重中之重 配置侧边栏-slider 自动获取侧边栏内容 如果你希望自动生成当前页面标题侧边

    2.6K20

    layuiAdmin pro v1.x 【单页版】开发者文档

    在 start/json/menu.js 文件中,我们放置了默认侧边菜单数据,你可以去随意改动它。...如果你需要动态加载菜单,你需要将 views/layout.html 中对应地址改成你真实接口地址 侧边菜单最多可支持。...//二菜单名称(与视图文件夹名称和路由路径对应) ,"title": "栅格" //二菜单标题 ,"jump": '' //自定义二菜单路由地址 ,"spread": true //是否默认展子菜单...需要注意是以下几点: 当任意菜单有子菜单,点击该菜单都只是收缩和展开操作,而并不会跳转,只有没有子菜单菜单才被允许跳转。...我们假设一菜单 name 是:a,二菜单是:b,三菜单 name 是 c,那么: 三菜单最终路由地址就是:/a/b/c 如果二菜单没有三菜单,那么二菜单就是最终路由

    4K20

    一个vuepress配置问题,引发js递归算法思考

    # 问题 我使用elog插件批量导出语雀文档。elog采用配置是所有文章平铺导出,没有按照语雀知识库目录生成markdown,这导致 vuepress 侧边栏无法和语雀一致,如下图。...那如何批量生产菜单配置项呢? 递归函数呀呀呀呀呀呀 elog 在同步语雀文档时,会自动创建elog.cache.json缓存文件,在 vueprss 项目根目录中查看。...uuid 咱们根据以上参数,编写递归函数, 将elog.cache.json一维数组,递归生成 vuepress 侧边栏配置数据 代码如下: function genYuqueRoute() {...广度优先搜索,对数据结构竖向执行,把树结构平面铺开、以层级数为列数,从第一列依次执行。 将深度搜索、广度搜索代入生活场景更容易理解。...咱们先看一个家庭关系树状图,爷爷奶奶是一属性、父母叔伯二、孙子孙女三属性、重孙们是四属性,以此类推。形成一个家庭关系树状图。

    29020

    Visual Studio 智能代码插件:CodeGeeX

    在实际开发场景中最常见也是提效最明显场景。 根据注释生成代码 根据自然语言注释,自动生成所需要代码,可以生成完整方法函数。...AskCodeGeeX智能问答 通过侧边智能问答交互,可以将开发中遇到技术问题,直接向CodeGeeX提问获得快速解答。 自动添加注释 给代码自动添加行注释,可以根据需要选择英文或者中文。...1、登录 启动后进行登录,有三种登录方式,可以点击左上角 登录 链接,也可以点CodeGeeX菜单"登录”,也可以打开聊天框打开侧边栏进行登录,具体如下图所示: 这里通过CodeGeeX侧边栏登录...通过第三方登录,然后绑定手机号,就可以使用CodeGeeX全部功能,开启倍速编程体验吧! 2、设置 可以通过点击侧边栏顶部更多按钮,下拉菜单中直接进入设置,修改更符合开发习惯设置。...在右键菜单中点击CodeGeeX ,然后点击下一菜单生成注释即可。 生成单元测试 在编辑器中选中代码,点击鼠标右键,菜单中点击CodeGeeX,然后点击下一菜单生成单测。

    22410

    React 折腾记 - (1) React Router V4 和antd侧边正确关联及动态title实现

    v4虽然提供了全局404组件,但是history里面没有代表404状态 实现目标 点击侧边菜单会改变标题,对应item也会高亮 直接修改路由,初次加载等会自动展开对应分组,高亮对应子项...location; sidebarData.map(item => { if (item.pathname) { // 做一些事情,这里只有二菜单...} // 因为菜单只有二,简单做个遍历就可以了 if (item.children && item.children.length...这样鉴权机制可以做到很细致化,但是对应判断逻辑也会多起来,看业务改了 也可以维护过渡效果,添加对应字段,然后每次访问不同URL时候更改过渡效果 以上都需要依赖状态管理器,来维护,因为涉及不同组件通讯...CSS文件什么 ├── jsconfig.json # 用来映射webpack alias ,这样vscode下才能智能提示alias路径 ├── package.json ├── public

    3K30

    WordPress免费主题:Document,让阅读变得更加方便

    新建菜单 添加菜单项 发布到顶部菜单  5.小部件、侧边栏 主题具有文章信息、作者信息、最新文章、最近更新 四个小部件(小部件自带配置,可在添加时候填写),添加后默认在文章页面的右侧边栏显示。...,虽然这个前端实现比较方便,但是考虑需要seo所以直接在后端生成; 文章目录导航需要自动跟随阅读进度,点击文章目录导致自动跳转到对应内容; 文章目录最小高度为屏幕一半,悬浮在文章左侧; 2....二、三标题 作者信息卡片 文章信息卡片 评论区 最新文章 文章导航 文章底部赞赏 站点底部信息 导航栏菜单 导航栏搜索 上一篇、下一篇文章 一键回到顶部 主题色、阅读模式切换 文章点赞、踩 文章浏览...增加后台设置,可设置主题基本信息:关键词、主题描述、作者信息等; 增加编辑器插件:代码高亮、一、二、三标题、成功文字块、错误文字块、失败文字块、图片灯箱、文字标记 新增元标签:一、二、三标题...、成功文字块、错误文字块、失败文字块、图片灯箱、文字标记 自定义顶部菜单 404页面 搜索空结果页面 文章密码权限控制 20220617更新 修复窗口大小改变时,固定状态下左右侧边栏位置没有同步变动,

    4.2K30
    领券