0

IonicとAngularFireDatabaseで最も基本的な検索を実行しようとしています。次のように私のコードは次のとおりです。AngularFireDatabaseリスト関数がイオンで呼び出されていない

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { SignInPage } from '../signin/signin'; 
import { FeedUser } from '../feeduser/feeduser'; 
import { FeedStylist } from '../feedstylist/feedstylist'; 
import { Keyboard } from '@ionic-native/keyboard'; 
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database'; 


@Component({ 
    selector: 'page-sign-up', 
    templateUrl: 'signup.html' 
}) 
export class SignUpPage { 
    stylist: boolean; 
    user: boolean; 
    items: FirebaseListObservable<any>; 

    constructor(public navCtrl: NavController, public keyboard: Keyboard, public af: AngularFireDatabase) { 
    this.items = af.list('/test'); 
    console.log(this.items); 
    } 

    ... 

にはエラーはありませんが、何も起こりません - コンソールメッセージが記録されることはありません...(その項目を取得していない場合)でも、nullではありません。

私はIonic 3.5.0とiOS 10を使用しています。この問題はiOSデバイスでのみ発生し、ブラウザで動作します。ありがとうございました

+0

それは 'SignUpPage'がオンに基づいて、runnedされることはありませんが、' constructor'ようです'コンソールメッセージは決して記録されません。ルーティングが機能しているかどうかを確認する必要があります。 – Pengyy

答えて

1

af.list('/test')戻り値を解決して結果を返しますが、あなたのコードでは、観察可能な値を解決する前に、すぐにアクセス可能な観測可能な値があります。あなたがここに

this.items = af.list('/test'); 
    this.items.subscribe(value=> { 
     console.log(this.items); 
    }); 
+0

ありがとうございます - すぐにそれを試してみてください - 私は不思議です...あなたはイオンのためにこれをしなければなりませんか? anglefire2のドキュメントでこれは決して言及していません...まだイオンを知るようになっています...私は他の場所でも使うだろう "購読"ですか?それはネットワークリクエストに使用されるだけでしょうか? – ewizard

+0

私はあなたの新しい角度またはイオン性と思います。私はIonicに飛ぶ前に観察可能な学習を始めることを勧めます。はい、あなたは他のコンポーネントで購読を使用することができますし、コンポーネントを破棄している間に購読を解除する必要があります – CharanRoot

+0

ok ...あなたのコードを使用すると、 'snapshots'変数を見つけることができません...私は' value'に変更しました。 10-15秒後に観察可能な状態にして – ewizard

0

観測可能とアクセス値の例を購読する必要

は、作業を終わったものです:

this.items = af.list('/test'); 
this.items.subscribe(items => items.forEach(item => { 
    console.log(item.$value); 
})); 
関連する問題