email
プロパティにアクセスするには、まずauth
プロパティにアクセスする必要があります。あなたはそれをJSON場合(getAuth()
以来{auth { .... }}
を返します。
を私は自分自身には、以下の方法を使用しauth.displayName
を変換する。これは、1つのまたは複数の単語を保持string
がかかります。唯一の1単語があれば、それがためにそれを設定します(string
は空白に分割され、末尾の空白をすることは、長いlastname
ため良く見えているので、いくつかのより多くのロジックで)空のfirstname
とlastname
は2つの以上の単語では、最初の単語はlastname
後firstname
、すべてになります
メソッド自体では、「Edwin van der Sar」の処理方法を説明します。
// Participant = {id: number, firstname: string, lastname: string}
private splitName(part: Participant, fullname: String): Participant {
// split the name by space (first last) (['Edwin','van','der','Sar']);
let splittedName:Array<string> = fullname.split(' ');
// if only one word is displayed (f.e. ivaro18) set it as lastname
// (improves search results later on)
if(splittedName.length < 2) {
part.lastname = splittedName[0];
}
// if first and last name are displayed
else if (splittedName.length < 3) {
part.firstname = splittedName[0];
part.lastname = splittedName[1];
}
// if the user has a hard name
else if (splittedName.length >= 3) {
// first part will be the firstname (f.e. 'Edwin')
part.firstname = splittedName[0];
// loop through all other and concat them to be the lastname
for(var i = 1; i < (splittedName.length); i++){
if(part.lastname != undefined){
// first part is already there, if it isnt the last part add a space ('der ')
if(!(i == (splittedName.length -1))) {
part.lastname += splittedName[i] +" ";
} else {
// it's the last part, don't add a space ('Sar')
part.lastname += splittedName[i];
}
}
// first part of the lastname ('van ')
else {
part.lastname = splittedName[i] +" ";
}
}
}
return part;
}
(かなり可能性を向上させることができるが、それは私のprioritesの一つではありませんので、それがすべてで遅くないです)
試し 'this.af.auth.getAuth()。auth.email' – Ivaro18
ああ私の神様..ありがとうございます。<3 – qwerty1234567
もう一つ質問です。彼の電子メールとパスワードだけでなく、作成することもできますか?私は名前と姓にもなりたい。 – qwerty1234567