Firebase を使い始めましたが、1 つのことで混乱しています。正しい方法で Firebase にデータを追加します - .set()
. それはOKです。.on('child_added'...
次に行う必要があることを使用してリストビューを作成します。追加したアイテムを更新する必要があり.update()
ます.on('child_added'...
. これをどのように防ぎますか?
OK an edit .... これは 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
});
});
});
})
しかし、追加すると常に「重複」します-明らかに、戻り値を単純な「リスト」として一度だけ表示したいだけです