2017-05-29 4 views
0

私は現在従うことをしようとしているタイプに存在しません:私は問題になっていますhttps://github.com/angular/angularfire2Firebase&AngularFire2「afAuth」「Appcomponent」

: プロパティ「をafAuth」タイプに存在しません「AppComponent」 。

私app.component.tsは、次のようになります。

import { Component } from '@angular/core'; 
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database'; 
import { AngularFireAuth } from 'angularfire2/auth'; 
import { Observable } from "rxjs/Observable"; 
import * as firebase from 'firebase/app'; 


@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    user: Observable<firebase.User>; 
    items: FirebaseListObservable<any[]>; 
    constructor(afAuth: AngularFireAuth, db: AngularFireDatabase) { 
    this.user = afAuth.authState; 
    this.items = db.list('items'); 
    } 
    login() { 
    this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()); 
    } 
    logout() { 
    this.afAuth.auth.signOut(); 
    } 
} 

そして、私のapp.module.tsは次のようになります。私はこの問題を修正については行くだろうか

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { AngularFireModule } from 'angularfire2'; 
import { AngularFireDatabaseModule } from 'angularfire2/database'; 
import { AngularFireAuthModule } from 'angularfire2/auth'; 
import { AppComponent } from './app.component'; 
import { environment } from '../environments/environment'; 

export const firebaseConfig = { 
    apiKey: 'xxxxxxxxxxxxxxxxxxxx', 
    authDomain: 'xxxxxxxxxxxxx', 
    databaseURL: 'xxxxxxxxxxxxxxxxxx', 
    projectId: 'xxxxxxxxxxxxxxxxx', 
    storageBucket: 'xxxxxxxxxxxxxxx', 
    messagingSenderId: 'xxxxxxxxxx' 
}; 

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    exports: [ AppComponent ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    AngularFireModule.initializeApp(firebaseConfig), 
    AngularFireDatabaseModule, 
    AngularFireAuthModule 
    ], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

誰もが知っていますか? (私はプログラミングに非常に慣れています - データをfirebaseに投げたいだけですが、チュートリアルではこれについての最新の方法を示すようです)

答えて

1

これはタイスクリプトの問題です。 afAuthをプライベートまたはパブリックに設定していないため、コンストラクタ内でのみアクセスできます。これを次のように変更してください:

... 
export class AppComponent { 

    ... 

    constructor(private afAuth: AngularFireAuth, db: AngularFireDatabase) { 
    this.user = afAuth.authState; 
    this.items = db.list('items'); 
    } 

    ... 

} 
+0

ありがとうございます。これはまさに問題でした。私はコンストラクタ内でafAuthの前にプライベートを追加し、問題は修正されました。 –

関連する問題