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

使用*ngFor从ng-container中仅向下切换一个div

使用*ngFor从ng-container中仅向下切换一个div可以通过以下方式实现:

首先,在组件的HTML模板中,使用ng-container包裹需要切换的div,并使用ngFor指令进行循环遍历。在ngFor指令中,定义一个变量来追踪当前循环的索引值。

代码语言:txt
复制
<ng-container *ngFor="let item of items; let i = index">
  <div *ngIf="i === currentIndex">
    <!-- 这里是需要切换的div内容 -->
  </div>
</ng-container>

接下来,在组件的Typescript代码中,定义一个变量来追踪当前显示的div的索引值。可以通过点击按钮或其他交互方式来切换div的显示。

代码语言:txt
复制
export class YourComponent {
  currentIndex: number = 0; // 当前显示的div的索引值

  items: any[] = [
    // 这里是需要循环遍历的数据
  ];

  // 切换到下一个div
  nextDiv() {
    if (this.currentIndex < this.items.length - 1) {
      this.currentIndex++;
    }
  }

  // 切换到上一个div
  prevDiv() {
    if (this.currentIndex > 0) {
      this.currentIndex--;
    }
  }
}

在上述代码中,通过nextDiv()和prevDiv()方法来切换currentIndex的值,从而实现向下或向上切换div的显示。

这种方式适用于需要在ng-container中循环遍历多个div,并且只显示一个div的场景,比如轮播图、选项卡等。在Angular中,*ngFor指令用于循环遍历数组或对象,并根据指定的模板来生成对应的HTML内容。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性计算能力,满足各类业务需求。产品介绍链接
  • 腾讯云云数据库 MySQL 版:高性能、可扩展的关系型数据库服务。产品介绍链接
  • 腾讯云对象存储(COS):安全、稳定、高效的云端存储服务。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务和解决方案,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助连接和管理物联网设备。产品介绍链接
  • 腾讯云区块链服务(BCS):提供一站式区块链服务,支持快速搭建和管理区块链网络。产品介绍链接
  • 腾讯云视频处理(VOD):提供视频上传、转码、截图、水印等功能,满足视频处理需求。产品介绍链接
  • 腾讯云音视频通信(TRTC):提供实时音视频通信能力,支持多人音视频通话和互动直播。产品介绍链接
  • 腾讯云云原生应用引擎(TKE):提供容器化应用的部署、管理和扩展能力。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AngularDart 4.0 高级-结构指令 顶

当条件为false时,NgIfDOM删除它的宿主元素,将它从DOM事件(它所依附的)中分离出来,将组件Angular变化检测中分离出来并销毁它。 组件和DOM节点可以被垃圾收集并释放内存。...*ngFor内部详解 Angular以类似的方式将*ngFor转换为星号(*)语法通过模板属性到模板元素。...ngFor字符串之外的所有内容仍在宿主元素()且移动到时保持不变。 在这个例子,[ngClass] =“odd”保留在上。...当你编写自己的结构指令时,可以使用这些微观语法机制。 研究NgIf和NgFor的源代码是了解更多信息的好方法。 模板输入变量 模板输入变量是一个变量,其值可以在模板的单个实例引用。...TemplateRef和ViewContainerRef 像这样一个简单的结构指令Angular生成的创建一个嵌入式视图,并将该视图插入与指令的原始宿主元素相邻的视图容器

16K20

angular知识点梳理第二篇-基本语法

文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍和如何创建一个angular项目,这一篇主要梳理一些...,但是在angular我们引入框架的一个核心模块FormsModule才可以,该指令就是将数据驱动视图的改变!...-- 使用{{}}进行数据的获取 --> {{inputData}} 运行效果 NgFor NgFor和我们js的for循环渲染数据是一致的,所以这里是比较容易理解的,简单的演示一下...*ngIf="isShow">我是一个div块 运行效果 true显示: false不显示: Ng-container ng-container 这里有必要介绍一下,这个类比的话就喝...vue的template是基本一致的,不是完全一致,我们可以将它看作一个承载体,也就是说我们无法进行包裹判断的一些元素或者段落可以使用这个进行包裹,因为他是一个不被渲染的tag,所以使用的时候是没有什么问题的

2.5K30

Angular 显示英雄列表

*ngFor 列出这些英雄 打开 HeroesComponent 的模板文件,并做如下修改: 在顶部添加  然后添加表示无序列表的 HTML 元素() 在  插入一个 <li...但模板的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,列表随便点击一个条目。...把显示英雄详情的 HTML 包裹在一个  。 并且为这个 div 添加 Angular 的 *ngIf 指令,把它的值设置为 selectedHero。...给所选英雄添加样式 所有的  元素看起来都是一样的,因此很难列表识别出所选英雄。...用户可以选择一个英雄,并查看该英雄的详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

4.4K70

AngularDart4.0 英雄之旅-教程-04明细 顶

Hero类  分开使用并将Hero类app_component.dart 中移动到它自己的文件,创建lib/src文件夹来装Hero源文件:lib/src/hero.dart class Hero...它表示元素及其子元素构成一个主模板。 ngFor指令遍历组件的英雄列表并为该列表的每个英雄呈现该模板的一个实例。...这些样式适用于AppComponent,不影响外部HTML。...这是你在ngFor指令定义的同一个英雄变量。 在用户输入页面和模板语法页面的事件绑定部分了解有关事件绑定的更多信息。...您了解了如何在组件模板中使用核心指令ngIf和ngFor。 您在CSS文件定义了样式,并使用它们来设置应用程序的样式。 你的应用应该看起来像这个实例(查看源代码)。

3K30

AngularDart4.0 指南- 模板语法二 顶

为什么你只能应用一个结构指令到一个元素。 本节介绍常见的结构指令: NgIf:有条件地DOM添加或删除元素。 NgFor:为列表的每个项目重复一个模板。...* ngFor与index(索引) NgFor指令上下文的index属性返回每个迭代项目的从零开始的索引。 您可以捕获模板输入变量的index,并在模板中使用它。...下一个示例捕获名为i的变量的索引,并使用像这样的英雄名称来显示它。...它可以根据切换条件几个可能的元素显示一个元素。 Angular只把选中的元素放入DOM。...本示例在hero_switch_components.dart文件定义的四个“emotional hero”组件之间进行切换。每个组件都有一个绑定到父组件的currentHero的英雄输入属性。

29.9K20

Angular 显示英雄列表

*ngFor 列出这些英雄 打开 HeroesComponent 的模板文件,并做如下修改: 在顶部添加  然后添加表示无序列表的 HTML 元素() 在  插入一个 <li...但模板的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,列表随便点击一个条目。...把显示英雄详情的 HTML 包裹在一个  。 并且为这个 div 添加 Angular 的 *ngIf 指令,把它的值设置为 selectedHero。...给所选英雄添加样式 所有的  元素看起来都是一样的,因此很难列表识别出所选英雄。 如果用户点击了“Magneta”,这个英雄应该用一个略有不同的背景色显示出来,就像这样: ?...用户可以选择一个英雄,并查看该英雄的详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

4K30

Angular 内容投影

对于同一个系统来说,下面的两个表单的区别在于使用不同的标题。为了提高组件的复用性,我们可以把相同的部分抽成独立的组件,然后把不同的部分单独出来。 ?...答案是可以的,在 Angular 引入了内容投影的概念,即通过使用 指令来实现内容投影的功能。 ?...ContentChildren 除了 ContentChild 装饰器之外,Angular 还为我们提供了一个 ContentChildren 装饰器,用来通过 Content Projection...ContentChildren 装饰器返回的是一个 QueryList 集合,在 ngAfterContentInit 生命周期钩子,我们通过 QueryList 实例提供的 forEach 方法来遍历集合的元素...ngProjectAs 有时候我们的定义的组件可能会包含在其它容器,比如 ,这时我们的目标投影会发生什么: <auth-remember

2.5K20

【Appetite】ionic3实录(七)次页实现及分析解决问题【下】

我们观察initSwiper方法,第一个参数'.wheel .swiper-container'其实是个选择器,所以它也是依托dom操作的,此外,由于我们使用了数据绑定,this.vm.dessertSlides...也就是说,前者只会初始化一次,而后两者每次显示都需要重新初始化,进一步说,若使用后两者方式,对于这里用到的swiper,它不是一个angular封装起来的组件,不会自动初始化,我们每次显示它时都需要显式调用一下...是的,在大多场景可以直接用ion-slides,只是会有个别坑要解决,比如我们改动下ts和html文件。...='two'" > {{item.title}}...ion-slide> 这样当新数据有值且长度大于0时,才会显示ion-slides组件,进而内部进行初始化,此时运行看效果如下,只是此时有个比较突兀的2图向3图切换效果

1.4K20

Video里的poster填满窗口的方案

普通居中 现在给出两种方案: 一、模拟Poster法 如果尝试css控制不了Poster的话,那只好换个角度来实现——模拟Poster,我们在Video外面包一个divdiv的背景图为Poster的图片...important; } 因为div的background用到动态拼接,涉及到脚本安全性问题,直接在html或者ts拼接是会被屏蔽的,所以ts文件部分,要使用bypassSecurityTrustStyle...image.png 可见,红色框选部分的Poster和背景重叠了,那我们不要它,直接把html的Poster去掉或者赋值为空,发现连背景都不显示了,只有黑屏: ?...of item.medias" src="{{cItem.src}}" type="video/mp4"> 二、css大法 直接使用下面样式即可,是不是很简单很惊喜...填满窗口 此文起抛砖引玉作用,细节有兴趣自行再摸索或微调。

1.9K20
领券