我試圖更新Firebase中我的services
項目的所有子項的「名稱」,以刪除所有前導和尾隨空格。我使用正則表達式來實現這一點,但我似乎無法弄清楚爲什麼它不起作用。Firebase兒童的更新值
我在快照中使用.forEach
循環瀏覽了我的services
項目,但似乎並未將新值保存到Firebase。
這是因爲我應該在$firebaseObject
上使用$save
?
這是我的代碼如下所示:
var servicesRef = ref.child('services');
servicesRef.on('value', function(snap) {
snap.forEach(function(serviceSnap) {
var item = serviceSnap;
item.name = name.replace(/^\s+|\s+$/g,'');
item.$save();
});
});
任何幫助表示讚賞。提前致謝!
嗨realph。這被認爲是AngularFire的反模式 - 查看[這個答案](http://stackoverflow.com/a/29835485/1526037)上的評論。正如@FrankvanPuffelen所說:「如果你在'$ firebaseObject'(或$ firebaseArray')之後直接使用'$ loaded()',那麼你可能做錯了一些事情。」「 –
有用。我只是用它來進行一些調試以從一些字符串中刪除一些空白區域。這就是說,如果我想在生產中做類似的事情,那麼最好的方法是做什麼? – realph
您可以在初始插入/更新時修復它,而不是每次獲取列表。 –