"Если мы определим строку перед ng, то все столбцы отображаются в одной строке."
Нет, если вы добавите [ngClass]
к тому же элементу, который повторяется:
<div class="row">
<div *ngFor="let watch of List;let i = index;" [ngClass]="{'col-xs-4 col-sm-4 col-md-4 col-lg-4': watch.rowtype == 'three-view', 'col-xs-6 col-sm-6 col-md-6 col-lg-6': watch.rowtype == 'two-view', 'col-xs-12 col-sm-12 col-md-12 col-lg-12': watch.rowtype == 'one-view'}"
style="text-align:center; background-color:rgb(0, 183, 255);">{{watch.name}}
</div>
<div>{{watch.value}}</div>
</div>
Вам также не нужны эти поля rowType
, вы можете сделать что-то вроде этого:
[ngClass]="{'col-xs-4 col-sm-4 col-md-4 col-lg-4': (index / 3 < 1)