2017-05-18 12 views
1

jsonの値がnullであるかどうかをチェックしたいと思います。 info.picがnullの場合、画像をアップロードするフォームを表示できるようにしたい場合は、jsonで返された画像を表示します。返されるjson値がnullであるかどうかをチェックする方法

マイHTML

<div class="col-sm-9" *ngFor="let info of dInfo"> 
    <img [src]="'data:image/JPG;base64,' + info.pic"/> 
</div> 
     <h1>name: </h1> 
     <p> {{ info.name }} </p> 
    </div> 

// The upload form that I want to hide 
    <label for="image">Upload</label> 
    <input #fileInput type="file" id="image"/> 
    <button class="btn" (click)="upload()">Upload Image</button> 

サービス

byID(id: any): Observable<any> 
{ 
    return this.http.get('') 
    .map(
     (response: Response) => { 
     return response.json().info; 
     } 
    ); 
} 

成分

getById(ID: any) { 
    this.infoService.byID(ID) 
    .subscribe(
     (dInfo2: DInterface[]) => { 
     this.dInfo2 = dInfo2 
     }, 
     (error: Response) => console.log(error) 
    ); 
} 

インタフェース

export interface DInterface { 

    id: number; 
    name: string; 
    pic: any; 

}

JSON応答

http://imgur.com/a/u6KZu

+0

ソリューションを追加するにはあなたの質問を編集しないでください、既存の答えが十分でない場合にのみ(そして、その場合にのみ)、thあなた自身の答えを加えてください。あなたの質問を破棄しないでください(潜在的に既存の回答を無効にして、おそらくあなたの質問にdownvotes/closevotesを引き付ける)。 –

答えて

0

使用*ngIf。あなたのケースでは

<img *ngIf="(info.pic | json) != '{}'" [src]="'data:image/JPG;base64,' + info.pic"/> 

Documentation for ngIf

アップデート1:

で試してみてください:

<img *ngIf="info?.pic" [src]="'data:image/JPG;base64,' + info.pic"/> 
+0

これは、 '=== {}'や '=== NULL'を使用すると動作しません。このようなjsonオブジェクトの配列をここに戻します。http://imgur.com/a/u6KZuあなたは戻り値がnullであることを見ることができます – ghan

+0

これは単純なものではありません: '* ngIf =" info.pic "'? – Katana314

+0

hmmm .. '* ngIf =" info.pic === null "'で試したことがありますか? – SrAxi

関連する問題