Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 路径必须是非空字符串,并且可以是';“不包含”&引用&引用#&引用&引用$&引用&引用;[quot;,或[quot;];_Firebase_Ionic3_Firebase Authentication - Fatal编程技术网

Firebase 路径必须是非空字符串,并且可以是';“不包含”&引用&引用#&引用&引用$&引用&引用;[quot;,或[quot;];

Firebase 路径必须是非空字符串,并且可以是';“不包含”&引用&引用#&引用&引用$&引用&引用;[quot;,或[quot;];,firebase,ionic3,firebase-authentication,Firebase,Ionic3,Firebase Authentication,我想在firebase和ionic注册, 但我从一开始就面临这个问题 错误:Reference.child失败:第一个参数是无效路径=“未定义”。路径必须是非空字符串,并且不能包含“.”、“$”、“[”或“]” 有人能帮我吗 这是提供程序: 从“firebase”导入*作为firebase; 从“@angular/core”导入{Injectable}; /* 为UserServiceProvider提供程序生成的类。 看见https://angular.io/guide/dependency

我想在firebase和ionic注册, 但我从一开始就面临这个问题

错误:Reference.child失败:第一个参数是无效路径=“未定义”。路径必须是非空字符串,并且不能包含“.”、“$”、“[”或“]”

有人能帮我吗

这是提供程序:
从“firebase”导入*作为firebase;
从“@angular/core”导入{Injectable};
/*
为UserServiceProvider提供程序生成的类。
看见https://angular.io/guide/dependency-injection 有关提供商的更多信息
和角DI。
*/
@可注射()
导出类UserServiceProvider{
公共数据:任何;
公共消防机构:任何;
公共用户档案:任何;
构造函数(){
log('Hello UserServiceProvider');
this.fireAuth=firebase.auth();
this.userProfile=firebase.database().ref(`email`);
}
signupUserService(帐户:{}){
返回此.fireAuth.createUserWithEmailAndPassword(帐户[`email`],帐户[`password`])。然后((newUser)=>{
//登录用户
此.fireAuth.signInWithEmailAndPassword(帐户[`email`],帐户[`password`])。然后((authenticatedUser)=>{
//成功登录,创建用户配置文件
this.userProfile.child(authenticatedUser.uid).set(
账户
);
});
});
}
}
------------------------------------------------------
这是我的注册页面
从'@angular/core'导入{Component};
从“ionic angular”导入{IonicPage、NavController、NavParams、LoadingController、ToastController};
从“../../providers/user-service/user-service”导入{UserServiceProvider}”;
从“../home/home”导入{HomePage};
/**
*为登录页面生成的类。
*
*看https://ionicframework.com/docs/components/#navigation 有关
*爱奥尼亚网页和导航。
*/
@IonicPage()
@组成部分({
选择器:“页面登录”,
templateUrl:'login.html',
})
导出类登录页{
公共技能:字符串;
公共电子邮件:字符串;
公用电话:任何;
公共密码:任意;
公众名字:任何;
公众姓氏:任何;
公共城市:任何;
公共国家:任何;
公共国家:任何;
公众求职者:布尔;
构造函数(公共navCtrl:NavController,
公共导航参数:导航参数,
公共用户服务提供者:用户服务提供者,
公共toastCtrl:ToastController,公共加载Ctrl:LoadingController){
}
ionViewDidLoad(){
log('IonViewDidLoadLoginPage');
}
doSignup(){
风险值账户={
名字:这个,名字,
姓氏:这个。姓氏,
技能:这个技能,
电子邮件:this.email,
电话:这个电话,
密码:this.password,
城市:这个城市,
州:这个州,
国家:这个国家,
求职者:这个国家
};
var=这个;
var loader=this.loadingCtrl.create({
内容:“请稍候…”,
});
loader.present();
这个.usersserviceProvider.signupUserService(帐户)。然后(authData=>{
//成功的
loader.discouse();
that.navCtrl.setRoot(主页);
},错误=>{
loader.discouse();
//无法登录
让toast=this.toastCtrl.create({
信息:错误,
时长:3000,
位置:'顶部'
});
敬酒;
that.password=”“//清空密码字段
});
}
}
这是我的html
技能集(用逗号分隔)
电子邮件
电话
密码

名字 姓 城市 州/省 找工作? 报名
如果检查的文档,您将看到它返回一个。检查文档中是否有该属性表明它没有
uid
属性,这就解释了为什么会得到
undefined

您需要使用
authenticatedUser.user.uid
,因此:

this.fireAuth.signInWithEmailAndPassword(account[`email`], account[`password`]).then((userCredential) => {
  this.userProfile.child(userCredential.user.uid).set(
    account
  );
});

使用
createUserWithEmailAndPassword
创建新用户帐户会自动登录,因此不需要嵌套这些调用。如果您(仅)希望在创建帐户时存储用户配置文件,
createUserWithEmailAndPassword
还会返回一个
UserCredential
。因此,您也需要间接发送到
user.uid

return this.fireAuth.createUserWithEmailAndPassword(account[`email`], account[`password`]).then((userCredential) => {
  return this.userProfile.child(userCredential.user.uid).set(
    account
  );
});

作为authenticatedUser.uid传递什么?什么意思设置一个console.log(authenticatedUser.uid);告诉我里面是什么。