https://angular.io/docs/ts/latest/guide/displaying-data.html およびstack を参照してください。空のオブジェクトをチェックインする方法* ngIf を使用したAngular 2テンプレートでは、構文エラーのセルフコンテキストは未定義のままです。 * ngIf条件を削除した場合、私は私がteamMembersの値にアクセスできるように私はそれにいくつかの値をプッシュする場合私はteamMembersの値を得ています。
私のteamMember
オブジェクトは[ ] array
です私は条件配列がサイズによって空であることを確認しようとしています。
トライ:
<div class="row" *ngIf="(teamMembers | json) != '{}'">
そして
<div class="row" *ngIf="teamMembers.length > 0"> //Check length great than
throwing syntax error
<div class="col-md-12">
<h4>Team Members</h4>
<ul class="avatar" *ngFor="let member of teamMembers">
<li><a href=""><gravatar-image [size]="80" [email]="member.email"></gravatar-image></a></li>
</ul>
</div>
</div>
コンポーネント:
@Component({
selector: 'pbi-editor',
})
export class AppComponent implements OnInit {
teamMembers: User[];
どんな助けでも素晴らしいでしょう。
<div class="row" *ngIf="teamMembers?.length > 0">
これはteamMembers
が値を持っているかどうかを最初にチェックし、teamMembers
が値を持っていない場合は、条件の最初の部分が既に失敗しているのでlength
のundefined
にアクセスしようとしません。
*ngIf="teamMembers != 0"
を使ってデータが存在するかどうかをチェックすることができます
あなたが使用することができます
<div class="col-sm-12" *ngIf="event.attendees?.length">
event.attendees?.length > 0
またはevent.attendees?length != 0
さえもなし
?.length
はすでにブール値の値を返すためです。
配列の中に何かがあればそれは他のものには表示されません。
多少多すぎるが作成されたライブラリ ngx-if-empty-or-items-items は、オブジェクト、セット、マップまたは配列が空でないかどうかチェックします。多分それは誰かを助けるでしょう。それはngIfと同じ機能を持っています(そして、elseと 'as'構文がサポートされています)。
arrayOrObjWithData = ['1'] || {id: 1}
<h1 *ngxIfNotEmpty="arrayOrObjWithData">
You will see it
</h1>
or
// store the result of async pipe in variable
<h1 *ngxIfNotEmpty="arrayOrObjWithData$ | async as obj">
{{obj.id}}
</h1>
or
noData = [] || {}
<h1 *ngxIfHasItems="noData">
You will NOT see it
</h1>