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

Angular 6:如何在*ngIf中随机显示元素(Math.random() )

Angular 6中可以通过使用内置的指令和绑定语法来实现在*ngIf中随机显示元素的效果。

首先,在模板中使用*ngIf指令来控制元素的显示与隐藏。例如,我们有三个元素需要随机显示,可以定义一个布尔类型的变量来控制它们的显示状态。

代码语言:txt
复制
<div *ngIf="showElement1">Element 1</div>
<div *ngIf="showElement2">Element 2</div>
<div *ngIf="showElement3">Element 3</div>

接下来,我们可以在组件中定义一个方法来根据随机数来控制这些变量的值。在Angular中,可以通过在组件类中定义方法,然后在模板中调用该方法来实现。

代码语言:txt
复制
import { Component } from '@angular/core';

@Component({
  selector: 'app-random-elements',
  templateUrl: './random-elements.component.html',
  styleUrls: ['./random-elements.component.css']
})
export class RandomElementsComponent {
  showElement1: boolean;
  showElement2: boolean;
  showElement3: boolean;

  constructor() {
    this.showRandomElement();
  }

  showRandomElement() {
    const randomNumber = Math.floor(Math.random() * 3) + 1;

    this.showElement1 = randomNumber === 1;
    this.showElement2 = randomNumber === 2;
    this.showElement3 = randomNumber === 3;
  }
}

在上述代码中,我们使用了Math.random()函数生成一个0到1之间的随机数,并通过Math.floor()函数将其转换为整数。然后,根据生成的随机数来控制每个元素的显示状态。

最后,需要将组件添加到模块的声明中,并在模板中使用该组件。

代码语言:txt
复制
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from './app.component';
import { RandomElementsComponent } from './random-elements/random-elements.component';

@NgModule({
  declarations: [
    AppComponent,
    RandomElementsComponent
  ],
  imports: [
    BrowserModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
代码语言:txt
复制
<app-random-elements></app-random-elements>

这样,在每次刷新页面或触发其他事件时,将会随机显示一个元素。

总结: Angular 6中可以通过使用ngIf指令和组件的方法来实现在ngIf中随机显示元素的效果。该方法通过生成随机数,并根据随机数来控制元素的显示状态。这种方法适用于需要在多个元素中随机选择显示的场景。

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

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云函数(SCF):https://cloud.tencent.com/product/scf
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云云数据库(CDB):https://cloud.tencent.com/product/cdb
  • 腾讯云区块链(BCB):https://cloud.tencent.com/product/bcb
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 结构指令模式 - 它们是什么且怎么使用

Angular ,有两种类型的指令。属性指令修改 DOM 元素的外观或者行为。结构指令添加或者移除 DOM 元素。 结构指令是 Angular 中最强大的特性之一,然而它们却频繁被误解。...如果你对学习 结构指令 感兴趣,那么现在我们就来接着阅读,并了解它们是什么,它们有什么用以及如何在项目中使用它们。 你将学到什么 在本文中,你将学到关于 Angular 结构指令模式的知识点。...{{worker.name}} Angular 生成一个 的元素,然后应用 *ngIf 指令。...ngIf 跟 if-else 很类似。 当表达式是 false 的时候,*ngIf 指令移除 HTML 元素。当为 true 时候,元素的副本会添加到 DOM 。...Angular 我们什么时候需要用结构指令呢? 如果你想在 DOM 添加或者移除一个元素的时候,你就应该使用结构指令。 当然,我们还可以使用它们来更改元素 CSS 样式,或者添加事件监听器。

3.8K20

AngularDart 4.0 高级-结构指令 顶

ngIf指令不会隐藏CSS元素。 它从DOM物理添加和删除它们。 使用浏览器开发人员工具确认事实,以检查DOM。 ? 顶部段落在DOM。...当条件为false时,NgIf从DOM删除它的宿主元素,将它从DOM事件(它所依附的)中分离出来,将组件从Angular变化检测中分离出来并销毁它。 组件和DOM节点可以被垃圾收集并释放内存。...{{hero.name}} 如果没有宿主元素,通常可以将内容包装在本机HTML容器元素,然后将该指令附加到该容器...浏览器不会在显示。 模板来解决 Angular 是一个分组元素,不会干扰样式或布局,因为Angular不会将其放入DOM。...满足Angular模板的类似需求。 编写一个结构指令 在本节,您将编写一个与NgIf相反的UnlessDirective结构指令。 NgIf在条件为true时显示模板内容。

16K20
  • Angular2 之 结构型指令几个概念

    (* 与 template) 控制宿主元素的模板。 在哪里去显示,viewcontain 怎么注入,属性的set语法的使用,是便捷的监听属性值变化的途径。... 移除元素组件 利 把ngIf设置为false,将会影响到组件的资源消耗。angular会从DOM移除该元素,停止相关组件的变更检测,把它从DOM事件移除,并且销毁组件。...而在Angular应用Angular会移除 标签及其子元素。 我们可以通过把短语"Hip! Hip! Hooray!"... 这时候显示的内容是'Hip! Hooray!',在Angular的控制下,DOM的效果是不同的。 ?...要么显示的包含在Template标签,要么隐式的使用*这种语法糖去包装在Template标签。它简化了ngIf和ngFor —— 无论是写还是读。

    3K20

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

    NgFor:为列表的每个项目重复一个模板。 NgSwitch:只显示多个可能元素的一个。 NgIf  您可以通过向该元素应用NgIf指令(称为宿主元素)来添加或移除DOM元素。...在此示例,将指令绑定到条件表达式,isActive。 不要忘记ngIf前面的星号(*)。...当NgIf为false时,Angular从DOM删除元素及其后代。 它摧毁了他们的组件,潜在地释放了大量的资源,从而带来了更加快速的用户体验。 展示/隐藏技术适合少数几个后代的元素。...警惕隐藏大型组件树; NgIf可能是更安全的选择。 警惕null ngIf指令通常用于防止null。 显示/隐藏是无用的。 如果嵌套表达式试图访问null属性,Angular会抛出一个错误。...它可以根据切换条件从几个可能的元素显示一个元素Angular只把选中的元素放入DOM

    29.9K20

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

    文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍和如何创建一个angular项目,这一篇主要梳理一些...angular的基本语法,这样有利于后面我们进行梳理别的知识点做一些铺垫 基本语法 常见指令 NgModel NgModel就和vue的v-model的效果是一致的,只是写法会有一些区别,vue是可以直接进行使用的...,但是在angular我们引入框架的一个核心模块FormsModule才可以,该指令就是将数据驱动视图的改变!...NgIf指令是可以控制页面元素显示与消失,这里和隐藏要区别开,他的效果和css的display:none效果是一致的,和visibility:hidden是要区别开的,当if判断为false的时候...状态 当前的isShow:{{isShow}} 我是一个div块 运行效果 true显示

    2.5K30

    浅谈Angular

    *ngIf--控制元素的显隐性 ?:ng-show和*ngIf的区别是什么?...ng-show本质上设置元素的display值为none,只是设置样式,DOM结构还在,而*ngIf是真正意义上的从DOM结构移除结构型指令 *ngIf--控制元素的显隐性 ?...ng-show本质上设置元素的display值为none,只是设置样式,DOM结构还在,而*ngIf是真正意义上的从DOM结构移除 *ngFor--动态创建DOM结构 ngSwitch--通过匹配case...从Observable的中文名:”可观察的”就能看出,Observable的作用是可以起到类似监听的作用,但它的监听往往都是在跨页面6.组件间通信: 1.父向子 -- @Input装饰器声明输入属性...比如网页元素a标签和input都有onclick事件,当点击a发生onclick事件时,事件源就是a标签,当点击input发送onclic事件是,事件源就是input。

    4.4K10

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

    它表示元素及其子元素构成一个主模板。 ngFor指令遍历组件的英雄列表并为该列表的每个英雄呈现该模板的一个实例。...刷新浏览器,该应用程序不再失败,名称列表再次显示在浏览器。 当没有选定的英雄时,ngIf指令从DOM移除英雄详情HTML。 没有英雄细节元素或绑定担心。...在结构指令页面和模板语法页面的内置指令部分阅读有关ngIf和ngFor的更多信息。 格式化选中hero 当选择的英雄细节显示在列表下方时,很难在列表识别选定的英雄。...在模板,将以下绑定添加到标记: [class.selected]="hero === selectedHero" 当表达式(hero === selectedHero)为true时,Angular...您将Hero类移到lib / src下的自己的文件。 你增加了选择英雄和显示英雄的细节的能力。 您了解了如何在组件模板中使用核心指令ngIf和ngFor。

    3K30

    Angular 从入坑到挖坑 - 表单控件概览

    一、Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 创建一个表单,以及如何针对表单控件进行数据校验。...响应式表单 建立表单 由组件隐式的创建表单控件实例 在组件类中进行显示的创建控件实例 表单验证 指令 函数 在表单数据发生变更时,模板驱动表单通过修改 ngModel 绑定的数据模型来完成数据更新,...在使用 ngModel 进行模板绑定时,angular 在 form 标签上自动附加了一个 NgForm 指令,因为 NgForm 指令会控制表单带有 ngModel 指令和 name 属性的元素,而...,然后将控件组的每一个控件作为属性值添加到实例 import { Component, OnInit } from '@angular/core'; // 引入 FormControl 和 FormGroup...将承接 FormGroup 实例的属性通过 formGroup 指令绑定到 form 元素,然后将控件组的每一个属性通过 formControlName 绑定到具体对应的表单控件上 <form [formGroup

    18.9K20

    理解Angular*ngIf指令中加问号和不加问号的区别

    Angular开发,我们经常使用ngIf指令来根据条件动态渲染或移除元素。然而,在一些情况下,我们可能需要处理一些可能为空的对象属性。这时,就需要了解在ngIf指令中使用加问号和不加问号的区别。...depotSaleAreaName"的值为false,从而跳过对应元素的渲染。这种方式非常实用,可以减少因空指针异常导致的代码错误,增强程序的稳定性。...typescript复制代码const obj1 = { depotSaleAreaName: '区域A'};const obj2 = {};如果我们使用obj1作为pickModel的值,那么渲染的元素将会显示如下内容...:销售区域: 区域A这是因为obj1存在且depotSaleAreaName字段存在,满足了*ngIf指令的条件,所以元素被渲染出来。...总结一下,加问号和不加问号在Angular中使用*ngIf指令的区别主要在于处理对象属性是否为空时的表现。我们可以根据具体的业务需求来选择合适的方式,确保代码的可靠性和稳定性。

    29100

    Angular ngIf 跟他的新伙伴 else 和 then

    参考:https://angular.cn/api/common/NgIf Angular 扩展了ngIf 指令, 加入了两个新伙伴 else 和 then。...ngIf 内放 expression 并会对 expression 进行求值,如果为真,则在原地渲染 then 模板,否则渲染 else 模板。...通常: then 模板就是 ngIf 内联的模板 —— 除非你指定了另一个值。 else 模板是空白的 —— 除非你另行指定了。 else 当表达式为false,用于显示的模板。...注意,else 绑定指向的是一个带有 #elseBlock 标签的 元素。 该模板可以定义在此组件视图中的任何地方,但为了提高可读性,通常会放在 ngIf 的紧下方。...text while primary text is hidden then <div *ngIf="show; then thenBlock; else elseBlock

    1.5K20

    Angular 从入坑到挖坑 - 组件食用指南

    一、Overview angular 入坑记录的笔记第二篇,介绍组件的相关概念,以及如何在 angular 通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件之间的交互...4.2.2、结构型指令 结构型指令用来操作 dom 树,通过进行一些的逻辑判断,从而完成对于页面布局的修改 NgIf:根据表达式的值(true or false)来创建或者销毁 dom 元素 NgIf 结构型指令 当 expr 属性为 true 时,这个元素则会显示在页面上,当属性值为 false 时,则不显示元素 ngIf 指令并不是通过使用 css 样式来隐藏元素的...,当值为 false 时,则这些元素会从 dom 中被销毁,并且所有监听该 dom 元素的事件会被取消,当重新显示元素时,会重新执行初始化的过程 与销毁元素不同,对于隐藏的元素来说,所有的元素监听事件还会执行监听的...,再次显示时不用重新进行初始化过程 NgFor:通过定义单条数据的显示格式,angular 以此为模板,循环渲染出所有的数据 <p *ngFor="let item of products; let

    15.8K30
    领券