我有一个Angular 项目中的标记,看起来像这样.

<div class="smallCard" *ngFor="let popular of populars">
    <img class="smallCardImg" src={{popular.imageArticle}} alt="img1">
    <h3>{{ popular.title }}</h3>
    <p>{{ popular.caption }}</p>      
    <div class="caption_container">
        <img class="reactionImg" src={{popular.imageUser}} alt="user">
        <a class="reactionName" href="">{{ popular.nameUser }}</a>
        <ul class="reactions">
            <img class="reactionsVector" src="assets/img/Vector.svg" alt="kudos">
            <li class="reactionsText">{{popular.kudos}}</li>
            <img class="reactionsVector" src="assets/img/star.svg" alt="star">
        </ul>
    </div>                        
</div>

样式类SmallCard如下所示:

.smallCard{   
    display: flex;
    flex-direction: column;
    min-height:0;
    margin: 0 20px 20px 0 ;
    max-width: 310px;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
    background: #FFFFFF;
} 

我有一个这样的元素数组:

 export const populars = [ {
  id: 1,
  title: 'How To Add Confidence Intervals to Any Model',
  caption: 'I would like to add another technique to your toolkit — confidence intervals',
  kudos: 147,
  imageUser: 'assets/img/folkman.png',
  nameUser: 'Tyler Folkman',
  imageArticle: 'assets/img/Image.png',
},
{
  id: 2,
  title: 'What’s New in JavaScript — ES2019',
  kudos: 120,
  imageUser: 'assets/img/folkman.png',
  nameUser: 'Tyler Folkman',
  imageArticle: 'assets/img/ImageSmall2.png',
},
{
  id: 3,
  title: 'How To Fake Being a Good Programmer',
  kudos: 89,
  imageUser: 'assets/img/folkman.png',
  nameUser: 'Tyler Folkman',
  imageArticle: 'assets/img/ImageSmall3.png',
},
{
  id: 4,
  title: 'Reduce Memory Usage and Make Your Python Code Faster Using Generators',
  kudos: 21,
  imageUser: 'assets/img/folkman.png',
  nameUser: 'Tyler Folkman',
  imageArticle: 'assets/img/ImageSmall4.png',
},
{
  id: 5,
  title: 'Here Are 11 Console Commands Every Developer Should Know',
  kudos: 3,
  imageUser: 'assets/img/folkman.png',
  nameUser: 'Tyler Folkman',
  imageArticle: 'assets/img/ImageSmall5.png',
}
]

我希望遍历该数组并将输出填充到540px长div中的一个元素,以及260px长div中的其余元素.如何正确使用*ngFor指令? 图片上的布局.

enter image description here

推荐答案

可以使用*ngFor指令的first个局部变量

*ngFor="let popular of populars; let first = first;"

然后用ngClass有条件地在div上应用bigCardsmallCard类.这确保了它只适用于第一要素.

[ngClass]="first? 'bigCard': 'smallCard'"

HTML

所有汇编在一起的内容如下所示.

<div 
  [ngClass]="first? 'bigCard': 'smallCard'"
  *ngFor="let popular of populars">
  ....
</div>

Javascript相关问答推荐

我试图实现用户验证的reduxstore 和操作中出了什么问题?

拖放仅通过 Select 上传

InDesign—创建一个独立的窗口,在文档中进行更正时保持打开状态

如何找出摆线表面上y与x相交的地方?

当作为表达式调用时,如何解析方法decorator 的签名?

如何让npx在windows中运行js脚本?

在执行异步导入之前判断模块是否已导入()

从包含数百行的表中获取更改后的值(以表单形式发送到后端)的正确方法是什么?

如何在每次单击按钮时重新加载HighChart/设置HighChart动画?

在WordPress中使用带有WPCode的Java代码片段时出现意外令牌错误

如何使用JavaScript拆分带空格的单词

为什么我的按钮没有从&q;1更改为&q;X&q;?

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

将范围 Select 器添加到HighChart面积图

通过跳过某些元素的对象进行映射

在Java脚本中录制视频后看不到曲目

未捕获的不变违规:即使在使用DndProvider之后也应使用拖放上下文

如何在css中裁剪成一定Angular 的圆的一部分,而不需要复杂的多边形

在采购unpept-visalizations.js时遇到问题

如何循环通过一个参数的键,该参数可以是TypeScrip中三个不同接口之一?