2017-03-20 1 views
0

Mein Code ist dies:Drucken String AngularJS 2 ionischer 2

firebase.auth().onAuthStateChanged(function(user) { 
     if (user) { 
     var user1 = firebase.auth().currentUser; 
     var name, email, photoUrl, password, uid, emailVerified; 
     if (user != null) { 
      name = user1.displayName; 
      email = user1.email; 
      photoUrl = user1.photoURL; 
      emailVerified = user1.emailVerified; 
      uid = user1.uid; // The user's ID, unique to the Firebase project. Do NOT use 
      // this value to authenticate with your backend server, if 
      // you have one. Use User.getToken() instead. 
      console.log(email); 
     } 
     } else { 
     console.log('no user'); 
     } 
    }); 

console.log (E-Mail) druckt mir die E-Mail aber in html

<h1>email: {{ email }}</h1> 

drucke nicht mir nichts, warum? Ich habe gegoogelt aber nichts. Was ist los mit dir?

Antwort

3

Um in HTML zu drucken, sollte die Variable eine Klasseneigenschaft sein. Deklarieren Sie in Ihrer Komponentenklasse email.

@Component() 
export class cmp{ 
email:any; 
//... 
//In your firebase call set in this.email 
firebase.auth().onAuthStateChanged((user)=> {//use arrow function to make sure this is correct 
    if (user) { 
    let user1 = firebase.auth().currentUser; 
    let name, photoUrl, password, uid, emailVerified; 
    if (user != null) { 
     name = user1.displayName; 
     this.email = user1.email;//here 
     photoUrl = user1.photoURL; 
     emailVerified = user1.emailVerified; 
     uid = user1.uid; // The user's ID, unique to the Firebase project. Do NOT use 
     // this value to authenticate with your backend server, if 
     // you have one. Use User.getToken() instead. 
     console.log(this.email); 
    } 
    } else { 
    console.log('no user'); 
    } 
}); 

Nun zeigen in html

{{email}} 
+3

Sie sollten 'anstelle von' var' let'. Finden Sie eine Erklärung hier in der wunderbaren [Typoskript-Dokumentation] [1] [1]: https://www.typescriptlang.org/docs/handbook/variable-declarations.html – niklas

+1

@niklas Sie haben Recht..danke. Aber nicht wirklich der Grund, warum OP das Problem bekommt –

+0

Ich erkläre es email: any; Ich habe dies getan.email = user1.email aber nichts. Konsolenprotokolldruck: [email protected], aber {{email}} nothing –