1

私はfirebaseでIonic2を使用しています。app.ts で firebase を初期化する 2 つの方法を見てきました。それを行うための推奨される方法と、両方の機能を使用する方法を教えてください。ionicBootstrap() で初期化すると、firebase 関数が失われ、コンストラクターで初期化すると、angularfire 関数が失われます。

angularfire 関数を使用するには、ionicBootstrap で初期化します

ionicBootstrap(MyApp, [
    FIREBASE_PROVIDERS,
    // Initialize Firebase app  
    defaultFirebase({
        apiKey: "XXXXXX-XXXXXXXXXXXXXXXXXX-XXXXXX",
        authDomain: "XXXXXX.firebaseapp.com",
        databaseURL: "https://XXXXXX.firebaseio.com",
        storageBucket: "XXXXXX.appspot.com"
    }),
    provide('AppStore', { useValue: appStore }) ])

firebase 関数を使用するには、コンストラクターで初期化します

constructor(private platform:Platform) {

    platform.ready().then(() => {
        // Okay, so the platform is ready and our plugins are available.
        // Here you can do any higher level native things you might need.
        StatusBar.styleDefault();

        // Initialize Firebase
        var config = {
            apiKey: "XXXXXX-XXXXXXXXXXXXXXXXXX-XXXXXX",
            authDomain: "XXXXXX.firebaseapp.com",
            databaseURL: "https://XXXXXX.firebaseio.com",
            storageBucket: "XXXXXX.appspot.com"
        };
        firebase.initializeApp(config);

    });
}

コンストラクターで angularfire2 の defaultFirebase() を移動しようとしましたが、うまくいきませんでした。次のエラーが表示されます。

元の例外: トークン FirebaseUrl のプロバイダーがありません! (AngularFire -> トークン FirebaseUrl)

4

1 に答える 1

2

このSOの質問/回答で解決策を見つけました。

angularfire2を使用しているときにネイティブFirebaseオブジェクトにアクセスするにはどうすればよいですか?

私は ionicBootstrap() を使用してfirebaseを初期化し、置き換えています

import * as firebase from 'firebase';

declare var firebase : any;
于 2016-09-08T14:19:28.043 に答える