0

新的Firebase的Dart包裝庫。 我已將AngularDart項目中的firebase依賴項從版本^ 3.0.0更新到^ 4.0.0,但它顯示錯誤:未定義的class'fb.AuthEvent'。`新的Firebase版本的Dart包裝庫^ 4.0.0錯誤

firebase_service.dart

import 'dart:async'; 
    import 'package:angular2/core.dart'; 
    import 'package:firebase/firebase.dart' as fb; 
    import 'package:angular_components/angular_components.dart'; 

@Injectable() 
    class FirebaseService { 
    fb.User user; 
    fb.Auth _fbAuth; 
    fb.GoogleAuthProvider _fbGoogleAuthProvider; 
    fb.Database _fbDatabase; 
    fb.Storage _fbStorage; 
    fb.DatabaseReference _fbRefMessages; 

FirebaseService() { 
    fb.initializeApp(
    apiKey: ".......", 
    authDomain: ".....", 
    databaseURL: ".....", 
    storageBucket: ".....", 
); 

_fbGoogleAuthProvider = new fb.GoogleAuthProvider(); 
_fbAuth = fb.auth(); 
_fbAuth.onAuthStateChanged.listen(_authChanged); 
} 

void _authChanged(fb.AuthEvent event) { 
user = event.user; 
} 

Future signIn() async { 
    try { 
    await _fbAuth.signInWithPopup(_fbGoogleAuthProvider); 
} 
catch (error) { 
    print("$runtimeType::login() -- $error"); 
    } 
} 

void signOut() { 
    _fbAuth.signOut(); 
    } 
}` 

回答

1

從火力地堡包Changelog

Breaking changes 

- The value in Auth.onAuthStateChanged is now User. AuthEvent has been 
removed. 

並從新DocumentationonAuthStateChangedStream<User>

所以,你應該改變你的_authChanged功能

​​
相關問題