我有一张纸卡列表,其中包含各种用户发布的信息。当用户访问网络应用时会发生这种情况。
所以我想要做的是获取当前登录用户的电子邮件,然后检查电子邮件是否与其中一个关键子节点相同,如果它们是相同的,我想要启用一个可以用来删除帖子的按钮。
我尝试了以下代码,但无效。
已编辑的代码
uploadsRef.on('value', function(snap) {
var data = _.map(snap.val(), function (item, key) {
item.key = key;
var mail = item.email;
console.log(mail);
firebase.auth().onAuthStateChanged(firebaseUser => {
if(firebaseUser){
var user = firebase.auth().currentUser;
var usr_mail = user.email;
console.log(usr_mail);
if(mail == usr_mail){
item.hidden = 'disp';
}
}
else{
if(mail != usr_mail){
item.hidden = 'hidden';
}
}
});
return item;
});
myFeed.splice.apply(myFeed, ['datas', 0, myFeed.length].concat(data));
});
答案 0 :(得分:0)
我几乎可以肯定你this
已脱离背景。试试myFeed.$.sold.classList.remove('hide')
。
或者,将类绑定到元素而无需手动使用classList。
var myFeed = this;
var uploadsRef = firebase.database().ref('cattle/data');
uploadsRef.on('value', function(snap) {
var data = _.map(snap.val(), function (item, key) {
item.key = key;
var mail = key.email;
var user = firebase.auth().currentUser;
var usr_mail = user.email;
if(mail !== usr_mail){
item.hidden = 'hidden';
}
return item;
});
myFeed.splice.apply(myFeed, ['datas', 0, myFeed.length].concat(data));
});
现在您已为所有非所有者item.hidden
设置为“隐藏”...
<style>
.hidden {display: none;}
</style>
<div class$="[[item.hidden]]"></div>