开始掌握Firebase,但我对一件事感到困惑。我以正确的方式向我的Firebase添加数据 - .set()
。没关系,我使用.on('child_added'...
创建列表视图我需要做的是更新添加的项目,可以使用.update()
执行此操作,但.on('child_added'...
然后再次显示更新。你怎么防止这个?
确定编辑....这是添加到Firebase的代码
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
};
function guid() {
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
jQuery('#submit_action').click(function(){
var profile_id = guid();
var myDataRef = new Firebase("https://xxxx.firebaseio.com/list");
myDataRef.push({ name: profile_id });
var myDataRef = new Firebase("https://xxxx.firebaseio.com/actions/"+profile_id);
jQuery('.left input,.left textarea,.left select').each(function(){
var value = jQuery(this).val();
var field = jQuery(this).attr('name');
myDataRef.child(field).set(value);
});
myDataRef.child('red').set('0');
});
这确实读了“回复”
var listRef = new Firebase("https://xxxx.firebaseio.com/list");
listRef.on('value', function(snapshot) {
var msgData = snapshot.val();
jQuery.each(msgData, function(k, v){
var actRef = new Firebase("https://xxxx.firebaseio.com/list/"+k);
actRef.on('value', function(snapshot) {
var aData = snapshot.val();
var bRef = new Firebase("https://xxxx.firebaseio.com/actions/"+aData.name);
var bData = '';
bRef.on('value', function(snapshot) {
bData = snapshot.val();
// NEED TO REFRESH AND APPEND TEXT TO A DIV
});
});
});
})
但是,如果我追加它总是“重复” - 显然我只想将一次返回显示为一个简单的“列表”