我刚开始在Angular v6中使用Angular Material。当我尝试在组件中显示公共字段的值时,它不会呈现在我的网页上。但是,如果我使用Chrome DevTools验证了该元素是否存在,则可以看到生成了一个值,但网页未显示该值。
<mat-card>
<mat-card-title>Basic grid list {{getLabel(22, 'Members')}}</mat-card-title> <!-- This shows properly -->
<mat-card-content class="demo-basic-list">
<mat-grid-list cols="4" [rowHeight]="123">
<mat-grid-tile> {{getLabel(22, 'Members')}} </mat-grid-tile> <!-- This does NOT show properly -->
<mat-grid-tile> Two </mat-grid-tile>
<mat-grid-tile> Three </mat-grid-tile>
<mat-grid-tile> Four </mat-grid-tile>
</mat-grid-list>
</mat-card-content>
`
答案 0 :(得分:0)
我刚刚对此进行了测试(将方法替换为静态值),并且对我来说效果很好。
您可以尝试以下吗?
其中之一应该解决您的成功之道。
答案 1 :(得分:0)
我也遇到了同样的问题,即网格无法显示或在屏幕上很小。
如果您仔细阅读文档,实际上是根据材料设计规范https://material.io/design/components/image-lists.html为图像制作网格的。
如果您检查网格的元素,您会看到它会创建图形标签。我不完全确定这是否真的是它的真正用法,并且Figure标记是否会影响任何东西,但我建议您使用其他方法(例如Angular flex布局),并选择flexbox或CSS网格。
答案 2 :(得分:0)
将此添加到您的CSS文件
.grid-layout-custom{
width: 50vw;
height: 50vh;
}
并将类引用添加到html文件
<mat-grid-list cols="3" rowHeight="2:1" class="grid-layout-custom">
<mat-grid-tile>1</mat-grid-tile>
<mat-grid-tile>2</mat-grid-tile>
<mat-grid-tile>3</mat-grid-tile>
<mat-grid-tile>4</mat-grid-tile>
<mat-grid-tile>3</mat-grid-tile>
<mat-grid-tile>4</mat-grid-tile>
<mat-grid-tile>3</mat-grid-tile>
<mat-grid-tile>4</mat-grid-tile>
<mat-grid-tile>3</mat-grid-tile>
<mat-grid-tile>4</mat-grid-tile>
</mat-grid-list>
发生这种情况是因为默认的高度和宽度为0;在这种情况下,网格布局将无法正确呈现。