来自firebase 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和firebase 3的教程,firebase.auth().onAuthStateChanged()
实现明显不同于firebase 3官方文档中的内容
答案 0 :(得分: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...
}
希望这有帮助。
答案 1 :(得分:0)
2类似,第一个使用回调函数,第二个使用arrow function。例如:这些是相同的(作为例子):
Search results for test
当用户使用firebase3进行身份验证时,它会在回调或箭头函数中传回一些数据。可以在示例中的用户变量下访问此数据。您可以执行console.log(用户)以查看传递的对象(例如身份验证ID,提供程序,电子邮件...)。
希望这能指出你正确的方向。