【发布时间】:2014-09-25 09:50:12
【问题描述】:
Angularfire 0.8 中的 $save() 让我很困惑。
这是一个最小的例子 - 我的 controllers.js 文件中的一个 sn-p:
.controller('LandingPageController', ['$scope','$firebase', function($scope,$firebase) {
$scope.addNode = function() {
var FB = new Firebase('https://protodb.firebaseio.com/testrecords/');
var fbr = $firebase(FB);
fbr.$set(1,{firstname: 'James'});
}
$scope.addAttribute = function() {
var FB = new Firebase('https://protodb.firebaseio.com/testrecords/1');
var fbr = $firebase(FB).$asObject();
fbr.lastname = "Bond";
fbr.$save();
}
}])
当addNode()被调用时,果然在我的firebase中创建了一个节点:
但是当addAttribute() 被调用时,整个记录都被替换了,而不是我所期望的,这是要添加的“姓氏”属性。
毫无疑问,我误解了文档。有人可以帮忙吗?
更新:
好的,我需要等到对象加载完毕。它现在可以工作了,将addAttribute 更改为:
$scope.addAttribute = function() {
var FB = new Firebase('https://protodb.firebaseio.com/testrecords/1');
var fbr = $firebase(FB).$asObject();
fbr.$loaded().then(function() {
fbr.lastname = "Bond";
fbr.$save();
});
}
【问题讨论】:
标签: angularjs firebase angularfire