下面这段代码,迭代items集合元素中每一个item,当且仅当item.id不为false时,才在页面显示item.name的属性值。

如果item.id为空,最后渲染的页面里会出现空的div, 这是该解决方案的一个小缺陷。

在一个复杂的Angular应用里,div嵌套层数如果增多,会给css样式的应用带来额外的工作量。

这时我们可以选择使用ng-container而不是div,因为前者和div同样具有HTML元素容器的作用,但优于div的一点是,ng-container不会影响到styles或者页面布局(layout), 因为它根本不会出现在最终的html原生代码中。

用ng-container重写我们的代码:

最后生成的HTML代码里,不再有多余的empty div了:

什么时候用ng-container?

We should use when we just want to apply multiple structural directives without introducing any extra element in our DOM.

当需要使用多个structual指令而又不想使用额外的div元素时,可以考虑ng-container.

更多Jerry的原创文章,尽在:“汪子熙”:

Angular ng-container元素的学习笔记相关推荐

  1. Angular 项目里 angular.json 文件内容的学习笔记

    看一个基于 Angular 的 SAP Spartacus 项目里 angular.json 的例子: version: The configuration-file version. newProj ...

  2. Angular ng-content元素的学习笔记

    ng-content 的select 属性其实和 css 选择器的工作方式类似,用于帮助 Angular 找到投影内容在 DOM 中的正确放置位置. 我个人把ng-content理解成Componen ...

  3. Angular ng-template元素的学习笔记

    ng-template: As the name suggests the ng-template is a template element that Angular uses with struc ...

  4. Angular ngTemplateOutlet 元素的学习笔记

    *ngTemplateOutlet is used for two scenarios - to insert a common template in various sections of a v ...

  5. Angular里的RouterOutlet指令学习笔记

    官网:https://angular.io/api/router/RouterOutlet#description Acts as a placeholder that Angular dynamic ...

  6. Angular 服务端渲染(SSR) 学习笔记

    文章目录 1 服务器端渲染 (SSR) 2 SSR的利弊 2.1 SSR的优势 2.2 SSR的局限 3 Angular Universal 3.1 Node.js Express web serve ...

  7. ng bootstrap css,Angular2学习笔记-ng bootstrap中motal组件使用

    ng bootstrap是一个angular UI bootstrap库,里面包含了一些基本的UI组件(日期选择组件,按钮,下拉框等).目前的版本为v1.0.0-alpha.14,基于angular2 ...

  8. 4 指针运算_C++用指针访问数组元素(学习笔记:第6章 08)

    用指针访问数组元素[1] 数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组. 定义指向数组元素的指针 定义与赋值 例: int a[10], *p ...

  9. cout 数组_C++用指针访问数组元素(学习笔记:第6章 08)

    用指针访问数组元素[1] 数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组. 定义指向数组元素的指针 定义与赋值 例: int 等效的形式 经过上 ...

最新文章

  1. 物联网面临的7大网络安全威胁
  2. 网络爬虫--13.数据提取之JSON与JsonPATH
  3. Facebook已经过时,蜂巢新网络崛起
  4. Timeline的Clip编辑模式总结
  5. vue遇到ie兼容问题如何处理_静电喷涂设备遇到紧急事故应该如何处理
  6. Ubuntu16.04下 编译安装 Tensorflow
  7. Root原理分析及防Root新思路
  8. python爬取豆瓣T250电影及保存excel(易上手)
  9. CleanMyMac X如何维护脚本 优化mac电脑系统
  10. java 随机生成手机号_Java随机密码生成并和邮箱、手机号匹配
  11. linux沙箱隔离_360隔离沙箱在WINDOWS 10 的WSL下的沙箱逃逸
  12. 计算机合成图像的技术可应用于,计算机系统概论第五章测验与答案.doc
  13. 设计模式-前摄器模式(Proactor)
  14. 北交 操作系统 课程笔记(一)
  15. Android13 App 预装详解
  16. 计算机里面百度云同步盘,百度云同步盘和百度网盘之间的区别是什么
  17. 动态规划(九章算法)详细学习
  18. 如何训练你的准确率?
  19. 学习笔记:《数字媒体技术概论》-1/10 数字媒体技术基础-中国大学慕课公开课
  20. centos使用yum安装mysql8

热门文章

  1. 2016蘑菇街编程题:搬圆桌
  2. 项目中最常用到的颜色
  3. 百度地图API的第一次接触——标注和信息窗的使用
  4. SSAS系列——【02】多维数据(维度对象)
  5. 以前折腾的7zip图标
  6. 【置顶】方立勋JavaWeb学习地址
  7. vue.$nextTick 解决了哪些问题
  8. Java多线程学习笔记一
  9. COGS 36. 求和问题
  10. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel