2017-09-29 6 views
0

私のIonic 2アプリケーションでは、Webサービスからオブジェクトをロードし、それらをアプリケーションでイオンリストとして表示します。オブジェクトがない場合は、メッセージを表示したい。Webサービスからオブジェクトをロードし、Ionic 2で空のメッセージを表示する

httpリクエストはすでに動作しています。

だから私がやったこと:私のテンプレートで

export class RidePage { 

    rides: Array<any>; 

    constructor() { 
    this.rides = this.loadRides(THIS GETS DATA FROM THE PROVIDER); 
    } 

私が持っている:

<p *ngIf="rides.length == 0">No conent</p> 

しかし、これはエラーを返す:

Cannot read property 'length' of undefined 

答えて

1

ridesを安全なナビゲーション演算子を使用することができ、HTTPリクエストがそれを移入している間は未定義です。あなたは何のコンテンツが利用できない場合、そのテキストを表示したい場合は乗り物が空である場合だけチェック

EDIT

export class RidePage { rides: Array<any> = []; constructor() { this.rides = this.loadRides(THIS GETS DATA FROM THE PROVIDER); } 
rides?.length

<p *ngIf="rides?.length == 0">No conent</p> 

または

安全な作業を空にするか、使用するように設定そうでなければ、ngIfはfalseと評価され、テキストは表示されません。

<p *ngIf="rides">No conent</p> 
1

あなたがanから結果を取得しているので、非同期呼び出し、ライドが存在するかどうかをチェックし、長さを確認する必要があります

<p *ngIf="rides && rides.length == 0">No conent</p> 

またはあなたがちょうどここ

<p *ngIf="rides?.length == 0">No conent</p> 
+0

私は最初に宣言して以来、乗り物は常に存在すると考えました。 – almo

+0

@almo存在しますが定義されていません – rjustin

関連する問題