Похоже, вы получаете пустой массив из вашей наблюдаемой, то есть []
, что истинно .
Вам также необходимо проверить длину.
<ng-container *ngIf="(months2025 | async) as months && months.length>0; else nocontent">
Как я уже упоминал в моем комментарии, существует открытая проблема, позволяющая создать такую конструкцию, в которой такая проверка возможна в angular .
Один из обходных путей - использовать карту для принудительной установки неопределенного / нулевого значения, когда у вас есть пустой массив.
this.months2025 = this.monthsArray2025.valueChanges().pipe(map(mnths=>mnths && mnths.length>0?mnths:undefined));
Другой - использовать два разных *ngIf
, как упомянуто @John * 1023.* здесь