作为一名学生,我目前仍在努力创建以下内容:
我在我的sidemenu(基于sidemenu模板)中有一个profilepicture&我要与firebase数据库中的数据交换的displayname。
我有以下代码:
App.html
<img id="profile-image" src="assets/profile/{{ photoURL }}" alt="{{ displayName }}"/>
<div id="profile-name" text-center class="width-full">{{ displayName }}</div>
App.component.ts
var displayName;
var photoURL;
export class MyApp
{
constructor()
{
this.setUserData();
}
setUserData来()
{
this.uid = firebase.auth()。currentUser.uid;
console.log("UID: "+ this.uid);
let ref = firebase.database().ref('/userProfile').child(this.uid);
ref.once('value', function(snapshot)
{
//CALLBACK
var key = snapshot.key;
var em = snapshot.child("/email").val();
var nm = snapshot.child("/name").val();
var dpn = snapshot.child("/displayName").val();
var pURL = snapshot.child("/photoURL").val();
//LOG
console.log("KEY: "+key);
console.log("NAME: "+nm);
console.log("DISPLAYNAME: "+dpn);
console.log("EMAIL: "+em);
console.log("PHOTOURL: "+pURL);
displayName = dpn;
photoURL = pURL;
}, function(error)
{
// The callback failed.
console.error(error);
});
在我的控制台中,我看到UID正在加载,正在获取正确的数据, 但我似乎无法得到我的观点的结果?它只是空着。
有人可以解释我缺少什么或我应该做什么吗?
提前致谢!
答案 0 :(得分:0)
你应该在类中声明变量,
export class MyApp{
displayName :string;
photoURL :string;