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

从Angular 8列表中显示随机3

个项目。

在Angular 8中,可以使用ngFor指令来循环遍历一个列表,并使用ngIf指令来根据条件显示或隐藏元素。要从列表中显示随机3个项目,可以按照以下步骤进行操作:

  1. 在组件的.ts文件中,创建一个包含所有项目的列表。例如:
代码语言:txt
复制
projects = [
  { name: '项目1', description: '这是项目1的描述。' },
  { name: '项目2', description: '这是项目2的描述。' },
  { name: '项目3', description: '这是项目3的描述。' },
  { name: '项目4', description: '这是项目4的描述。' },
  { name: '项目5', description: '这是项目5的描述。' },
  // 其他项目...
];
  1. 在组件的.html文件中,使用ngFor指令循环遍历列表,并使用ngIf指令根据条件显示项目。同时,使用Angular的内置管道(pipe)来实现随机排序。例如:
代码语言:txt
复制
<div *ngFor="let project of projects | shuffle | slice:0:3">
  <h3>{{ project.name }}</h3>
  <p>{{ project.description }}</p>
</div>
  1. 在组件的.ts文件中,创建一个名为"shuffle"的管道来实现随机排序。例如:
代码语言:txt
复制
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'shuffle'
})
export class ShufflePipe implements PipeTransform {
  transform(array: any[]): any[] {
    let currentIndex = array.length;
    let temporaryValue: any;
    let randomIndex: number;

    while (0 !== currentIndex) {
      randomIndex = Math.floor(Math.random() * currentIndex);
      currentIndex -= 1;

      temporaryValue = array[currentIndex];
      array[currentIndex] = array[randomIndex];
      array[randomIndex] = temporaryValue;
    }

    return array;
  }
}
  1. 在组件的模块文件中,将"ShufflePipe"添加到"declarations"数组中,以便在组件中使用该管道。

现在,当组件加载时,它将从列表中随机选择3个项目,并将它们显示在页面上。

请注意,以上代码示例中没有提及任何特定的腾讯云产品,因为这个问题并没有涉及到与云计算相关的内容。如果您需要了解腾讯云的相关产品和服务,请访问腾讯云官方网站(https://cloud.tencent.com/)以获取更多信息。

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

相关·内容

  • AngularDart4.0 英雄之旅-教程-07路由 顶

    路由是导航从视图到视图的机制。 分割AppComponent 当前的应用程序加载AppComponent并立即显示英雄列表。...: const [ROUTER_DIRECTIVES], 您可以从指令列表中移除HeroesComponent,因为AppComponent不会直接显示英雄; 这是路由器的工作。...了解路由章节中的链接参数列表。 刷新浏览器,浏览器显示应用标题和英雄链接,但不是英雄列表。点击英雄导航链接。地址栏更新为 /#/heroes(或同等/#heroes),英雄列表显示。...之前,您从HeroesComponent的提供程序列表中删除了HeroService,并将其添加到AppComponent的提供程序列表中。...从指令列表中删除HeroDetailComponent。 删除英雄细节导入。 当用户从列表中选择一个英雄时,他们不会进入详细页面。

    17.6K30

    Angular学习资料大全和常用语法汇总(让后端程序员轻松上手)

    AngularJS 文档教程 | W3Cschool: https://www.w3cschool.cn/angularjs/ Angular入门,开发环境搭建,使用Angular CLI.../wendellhu95/blog/issues/10 https://zhuanlan.zhihu.com/p/36385830 Angular教程_Angular8 Angular9入门实战视频教程...不加的话可能会报错 导入 FormsModule 以使用 ngModel 要想在双向数据绑定中使用 ngModel 指令,必须先导入 FormsModule 并将其添加到 NgModule 的 imports 列表中..., "菜鸟教程4", ] }); Angular ng-if判断使用: //在angular中没有else只能都通过ng-if来判断 ng-paste 规定粘贴事件的行为 ng-pluralize 根据本地化规则显示信息 ng-readonly 指定元素的 readonly 属性 ng-repeat 定义集合中每项数据的模板

    5.4K41

    AngularDart4.0 指南- 显示数据 顶

    您可以通过将HTML模板中的控件绑定到Angular组件的属性来显示数据。 在这个页面中,您将创建一个包含英雄列表的组件。 您将显示英雄名单的列表,并有条件地在列表下方显示一条消息。...> ''', Angular会自动从组件中抽取title和myHero属性的值,并将这些值插入到浏览器中。...在任一种样式中,模板数据绑定都具有对组件属性的相同访问权限。 用* ngFor显示一个列表属性 要显示英雄列表,首先向组件添加英雄名字列表,并将myHero重新定义为列表中的第一个名字。...Angular ngFor指令来显示英雄列表中的每个项目。...双引号内的模板表达式,* ngIf =“heros.length> 3”,看上去和表现很像Dart。 当组件的英雄列表中有三个以上的项目时,Angular会将该段落添加到DOM,并显示消息。

    5.3K10

    Angular 显示英雄列表

    给英雄们应用样式表 英雄列表应该富有吸引力,并且当用户把鼠标移到某个英雄上和从列表中选中某个英雄时,应该给出视觉反馈。...但模板中的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,从列表中随便点击一个条目。...英雄们显示在列表中,并且所点英雄的详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白的细节 该组件应该只有当 selectedHero 存在时才显示所选英雄的详情。...这个应用看起来又再次工作正常显示了。 英雄显示在列表中,当你单击英雄的名字的时候,有关你单击英雄的详细信息就显示在页面的底部了。...给所选英雄添加样式 所有的  元素看起来都是一样的,因此很难从列表中识别出所选英雄。 如果用户点击了“Magneta”,这个英雄应该用一个略有不同的背景色显示出来,就像这样: ?

    4K30

    Angular 显示英雄列表

    给英雄们应用样式表 英雄列表应该富有吸引力,并且当用户把鼠标移到某个英雄上和从列表中选中某个英雄时,应该给出视觉反馈。...但模板中的绑定表达式引用了 selectedHero 的属性(表达式为 {{selectedHero.name}}),这必然会失败,因为你还没选过英雄呢。 现在,从列表中随便点击一个条目。...英雄们显示在列表中,并且所点英雄的详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白的细节 该组件应该只有当 selectedHero 存在时才显示所选英雄的详情。...这个应用看起来又再次工作正常显示了。 英雄显示在列表中,当你单击英雄的名字的时候,有关你单击英雄的详细信息就显示在页面的底部了。...给所选英雄添加样式 所有的  元素看起来都是一样的,因此很难从列表中识别出所选英雄。

    4.4K70

    Angular 主从组件

    此刻,HeroesComponent 同时显示了英雄列表和所选英雄的详情。 把所有特性都放在同一个组件中,将会使应用“长大”后变得不可维护。...该命令还会把 HeroDetailComponent 添加到 src/app/app.module.ts 文件中 @NgModule 的 declarations 列表中。...在你从模板中剪切走代码之前,它自己负责显示英雄的详情。现在它要把这个职责委托给 HeroDetailComponent 了。 这两个组件将会具有父子关系。...当用户从列表中选择了某个英雄时,父组件 HeroesComponent 将通过把要显示的新英雄发送给子组件 HeroDetailComponent,来控制子组件。...像以前一样,一旦用户点击了一个英雄的名字,该英雄的详情就显示在了英雄列表下方。 现在,HeroDetailComponent 负责显示那些详情,而不再是 HeroesComponent。

    1.2K40

    AngularDart 4.0 高级-管道 顶

    当您使用管道时,Angular会选择更简单,更快速的变更检测算法。  不使用管道 在下一个示例中,组件使用默认的积极变化检测策略来监控并更新其hero列表中每个英雄的显示。...如果你点击reset按钮,Angular用原有英雄的新列表替换heroes并更新显示。 如果您添加了删除或更改英雄的功能,Angular会检测这些更改并更新显示。...从它的角度来看,同样的列表,没有变化,没有显示更新。 为了解决这个问题,创建一个新的英雄列表并将其分配给heroes。 这次Angular检测到列表引用已经改变。...它执行管道并用新的列表更新显示,其中包括新的飞行英雄。 如果您更改列表,则不会调用管道,并且不会更新显示; 如果您替换列表,管道将执行并更新显示。...您可以在实例(查看源代码)中确认,当您添加英雄时,即使您变更heroes列表,飞行英雄也会显示更新。 不纯的AsyncPipe Angular AsyncPipe是一个不纯管道的有趣例子。

    6.4K20

    Angular 主从组件

    此刻,HeroesComponent 同时显示了英雄列表和所选英雄的详情。 把所有特性都放在同一个组件中,将会使应用“长大”后变得不可维护。...该命令还会把 HeroDetailComponent 添加到 src/app/app.module.ts 文件中 @NgModule 的 declarations 列表中。...在你从模板中剪切走代码之前,它自己负责显示英雄的详情。现在它要把这个职责委托给 HeroDetailComponent 了。 这两个组件将会具有父子关系。...当用户从列表中选择了某个英雄时,父组件 HeroesComponent 将通过把要显示的新英雄发送给子组件 HeroDetailComponent,来控制子组件。...像以前一样,一旦用户点击了一个英雄的名字,该英雄的详情就显示在了英雄列表下方。 现在,HeroDetailComponent 负责显示那些详情,而不再是 HeroesComponent。

    1.3K40

    一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

    现在我们已经看到了我们自动生成的Angular应用程序的所有部分,这些部分实际发生在浏览器中显示的页面中。...但AppComponent将在应用程序中的其他任何内容之前加载,因此我们必须认为它是整洁而小巧的。我们最好再创建一个组件来照顾存储卡片列表并将其显示在我们的页面上。...目前,我们从硬编码标记中显示我们的卡片。...正如我们从它的实现中可以看到的那样,它也将我们的ServerFailure动作映射到它的有效负载,然后显示这个有效负载(我们的服务器错误)console.log。...所以,现在我们已经介绍了我们的三个动作中的两个,让我们继续前进LoadSuccess。从目前我们所知道的,我们正在从服务器上下载一张卡片列表,我们需要将它们合并到我们的服务器中State。

    42.7K10

    Angular 服务

    从组件中移除数据访问逻辑,意味着将来任何时候你都可以改变目前的实现方式,而不用改动任何组件。 这些组件不需要了解该服务的内部实现。 这节课中的实现仍然会提供模拟的英雄列表。...显示英雄列表,并且当你点击某个英雄的名字时显示出英雄详情视图。...使用这种异步方式,当 HeroService 从远端服务器获取英雄数据时,就可以工作了。 显示消息 在这一节,你将 添加一个 MessagesComponent,它在屏幕的底部显示应用中的消息。...*ngIf 只有在有消息时才会显示消息区。 *ngFor 用来在一系列  元素中展示消息列表。...当你把 最终代码 某一页的内容添加到 messages.component.css 中时,这些消息会变得好看一些。 刷新浏览器,页面显示出了英雄列表。

    3.3K70

    angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教...在学习过程中也是围绕这几点进行系统的学习。   ...属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助...$apply手动更新     f.Scope提供$watch方法监视Model的变化     g.Scope提供$apply方法传播Model的变化 3、创建一个简单angularjs页面实现数据绑定...AngularJS允许我们使用angular.module()方法来声明模块,这个方法能够接受两个参数, 第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。

    2.2K10

    angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教...在学习过程中也是围绕这几点进行系统的学习。   ...属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助...$apply手动更新     f.Scope提供$watch方法监视Model的变化     g.Scope提供$apply方法传播Model的变化 3、创建一个简单angularjs页面实现数据绑定...AngularJS允许我们使用angular.module()方法来声明模块,这个方法能够接受两个参数, 第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。

    2.1K30
    领券