【问题标题】:*ngFor flexbox row direction*ngFor flexbox 行方向
【发布时间】:2020-04-14 18:50:21
【问题描述】:

在 Angular 5 中,*ngFor 以列方向而不是行方向生成 <div> 元素:

html

    <div class="charts"  *ngFor="let chart of chartEntities$ | async; let i = index; trackBy: trackByFn"
          style="padding-top: 0.5em">
          <div class="item">
            <span style="background-color: rgb(127, 140, 255); height:120px;"> number {{i}}
            </span>
          </div>
    </div>

css

    .charts{
      display: flex;
     flex-direction: row;
    }

    .item{
      display: flex;
      flex: 1
    }

如何将其更改为所有元素都在同一行中?

谢谢

【问题讨论】:

    标签: angular flexbox ngfor


    【解决方案1】:

    你应该重新排列

    <div class="charts" style="padding-top: 0.5em">
          <div class="item" *ngFor="let chart of chartEntities$ | async; let i = index; trackBy: trackByFn">
            <span style="background-color: rgb(127, 140, 255); height:120px;"> number {{i}}
            </span>
          </div>
    </div>
    

    display: flex; flex-direction: row; 应该在父 div

    【讨论】:

    【解决方案2】:

    您需要将*ngFor 添加到您的item,而不是charts

    <div class="charts" style="padding-top: 0.5em">
      <div class="item" *ngFor="let chart of chartEntities$ | async; let i = index; trackBy: trackByFn">
        <span style="background-color: rgb(127, 140, 255); height:120px;">
          number {{i}}
        </span>
      </div>
    </div>
    

    附带说明,不要使用这样的内联样式。那些需要移动到组件 css 文件中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-18
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2018-04-15
      • 1970-01-01
      相关资源
      最近更新 更多