2017-07-12 2 views
0

私のLandingPageコンポーネントからDetailsコンポーネントにオブジェクトを送信するプログラムを作成しています。オブジェクトが空の場合、私のランディングページの前に詳細コンポーネントがロードされたことを意味します。コード内でオブジェクトが空の状態を判別できるようにする必要があります。データが角2のコンポーネントで受信されているかどうかを確認する

私は私の中のサービスからLandingPageデータオブジェクトを受け取る:誰かが直接/detailsルートをロードすると、

resultpage.component.ts(/詳細ルート)

details: Object; 

ngOnInit(): void { 
    this.details = this.TitleService.getTitle(); //store our LandingPage info into details 
} 

を受信したオブジェクトは空になります。しかし、私はオブジェクトが空であるかどうかを判断する方法を理解することはできません。

誰かが私の/detailsルートを直接ロードしているかどうかを確認するにはどうすればよいですか?受信したオブジェクトが空であるか、より良い方法があるかどうかを確認する必要がありますか?オブジェクトが空の場合はtrueを返します

if (obj && (Object.keys(obj).length === 0)); 

を:

+0

ユーザーが直接読み込んでも読み込みを停止したいのですか? – CharanRoot

+0

いいえまだ完全にレンダリングしたいのですが。目的は、それが直接ロードされているとき、私はあなたのサービスを失っている情報を取得することです – Edon

+0

あなたはそれを正しくやっています。 ngInit()関数でチェックする必要があります。天気詳細オブジェクトが空です。 この機能を実現するもう1つの方法は、詳細ページにナビゲートする前にロードする代わりに、オブジェクトのIDを詳細ページ(コンポーネント)に渡し、ngInit()関数 – umar

答えて

0

を使用すると、オブジェクトは次の手順を実行して、空であるかどうかを確認することができますが判明します。

関連する問題