*ngIf不起作用,如果数组为空,则显示模板



在此处输入图像描述嗨,我是angular的新手,我对ngIf有问题。我已经把代码剪在下面了。对世界的任何帮助都会很有帮助。

组件

import { Component } from '@angular/core';
import { templateJitUrl } from '@angular/compiler';
@Component({
selector: 'app-post-list',
templateUrl: './post-list.component.html',
styleUrls: ['./post-list.component.scss']
})
export class PostListComponent{
posts = [];
}

模板文件就是这个

<mat-accordion multi="true" *ngIf='posts.length > 0'>
<mat-expansion-panel *ngFor="let post of posts">
<mat-expansion-panel-header>
<mat-panel-title>
{{ post.title }}
</mat-panel-title>
</mat-expansion-panel-header>
<mat-panel-description>
{{ post.content }}
</mat-panel-description>
</mat-expansion-panel>
</mat-accordion>
<p *ngIf='posts.length <= 0' > No posts added yet </p>

返回posts.title时出错,posts.ctnet在类型"never"上不存在。

但是当我的帖子阵列作为

posts = [
{title: 'First Post', content: 'First post contnet'},
{ title: 'Second Post', content: 'Secnd post contnet' },
];

//  posts = [];
}

任何帮助都会被告知。

大家好,感谢您帮助我通过键入变量解决了这个问题

posts: any[] = [];

最新更新