0

代码从火力3个文档https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user如何火力认证工作

firebase.auth().onAuthStateChanged(function(user){ 
      if (user) { 
      // If there's a user take him to the home page. 
      this.rootPage = HomePage; 
      } else { 
      // If there's no user logged in send him to the LoginPage 
      this.rootPage = LoginPage; 
      } 
    }); 

是如何user参数在观察者设定又是怎样从以上这下面不同的代码?

从教程代码@http://javebratt.com/firebase-3-email-auth/

firebase.auth().onAuthStateChanged((user) => { 
      if (user) { 
      // If there's a user take him to the home page. 
      this.rootPage = HomePage; 
      } else { 
      // If there's no user logged in send him to the LoginPage 
      this.rootPage = LoginPage; 
      } 
    }); 

的原因,我问的是,我经历一个教程离子2和火力点3和firebase.auth().onAuthStateChanged()实现是从什么是正式明显不同docs for firebase 3

回答

0

用户参数设置为var user = rootRef.getAuth();

以下是我如何使用它。

var rootRef = new Firebase('https://yourapp.firebaseio.com'); 

// Check the current user login status and redirect if not logged in 
var user = rootRef.getAuth(); 
if (user) { 
    var user = rootRef.getAuth(); 
    var userRef = rootRef.child('users').child(user.uid); 
    ... do something with the logged in user... 
} 

希望这会有所帮助。

+0

感谢@MattHannam您的解释看起来是针对最近弃用的Firebase 2 – user1841445

0

2是类似的,第一次使用回调函数和第二个arrow function。例如: - 这些是相同的(作为一个例子):

var a = a.map(function(s){ return s.length }); 
var b = a.map(s => s.length); 

当用户进行验证firebase3它会通过一些数据传回在回调或箭头功能。这个数据可以在你的例子中的用户变量下访问。您可以通过console.log(用户)来查看传递哪些对象(如身份验证ID,提供程序,电子邮件...)。

希望这点能指引您朝着正确的方向发展。