【发布时间】:2018-03-19 08:53:01
【问题描述】:
我正在尝试创建一个 *ngFor 指令来将数据放在两列中,而不是像往常一样只放在一列中。我什至遵循了我在那里看到的一个例子,但它根本不起作用。让我们从图形部分开始:
...但我希望它看起来像这样(这样我可以在不使卡片变大的情况下容纳比以前更多的物品):
这是我目前拥有的代码,它什么都不做(它只显示第一张图片):
<div class="col-6-md" *ngFor="let level of config?.selectedLevels; let i = index">
<div class="col-md-6" class="left-style" *ngIf="i%2 == 0">
<a href="javascript:void(0)" [style.cursor]="cursor(level)" class="btn-flat white separator" (click)="deselectLevel(level)">
<i class="fa fa-times">
</i>
{{ level?.label || level }}
</a>
</div>
<div class="col-md-6" class="right-style" *ngIf="i%2 != 0">
<a href="javascript:void(0)" [style.cursor]="cursor(level)" class="btn-flat white separator" (click)="deselectLevel(level)">
<i class="fa fa-times">
</i>
{{ level?.label || level }}
</a>
</div>
</div>
这使用以下 CSS:
.left-style{
float:left;
width:45%;
}
.right-style{
float:right;
width:45%;
}
我知道在这个示例中不需要它,但它只是一个尝试。我很困惑为什么这根本不起作用。在创建的 div 中,根本没有应用引导类 (col-md-6)。
为什么会这样?
编辑:
让我稍微扩展一下应用程序的外观,以便轻松找出正在发生的事情。在尝试了其他不起作用的方法之后,我想是时候让您更广泛地了解这是什么样的,以便找出如何解决这个奇怪的问题。
父组件使用“卡片”,就像你在这篇文章中看到的那样。因此,主模板如下所示:
“卡片”组件有一个 ng-content,它在我提供的另一个组件中绘制,正如您在父组件的实现中看到的那样。这是卡片组件:
import { Component, Input } from '@angular/core';
@Component({
selector: "card",
styleUrls: ["./card.css"],
template: `
<div class="col card">
<div class="row card-header">
{{title}}
</div>
<div class="margin">
<ng-content></ng-content>
</div>
`
})
export class Card{
@Input() title: string;
constructor(){
}
}
不知何故,正如我在第一个建议答案的 cmets 中所说,div 没有像往常一样编译引导类:
此刻变得非常奇怪。谁能发现这里出了什么问题?
【问题讨论】:
-
我一直在编辑错误的文件。只是周一的事情。很抱歉占用了您的时间!
-
如果我们需要按字母顺序创建三列怎么办?
标签: javascript angular