Angularjs Firebase AngularFire隐式和显式同步之间的差异

Angularjs Firebase AngularFire隐式和显式同步之间的差异,angularjs,firebase,angularfire,Angularjs,Firebase,Angularfire,我是firebase的新手。我想用angularjs建造它,我发现了angularfire 在列出的angularFire文档中 隐式和显式同步。我试图理解github中的文档,但我仍然不理解它们之间的区别以及如何使用它们。 angularFire()和angularFireCollection() 另外,angularFire()和angularFireCollection()中的参数是什么意思 如果需要隐式同步,请使用angularFire,即对模型所做的任何更改都将立即传播到所有其他客户端

我是firebase的新手。我想用angularjs建造它,我发现了angularfire

在列出的angularFire文档中 隐式和显式同步。我试图理解github中的文档,但我仍然不理解它们之间的区别以及如何使用它们。
angularFire()
angularFireCollection()

另外,
angularFire()
angularFireCollection()
中的参数是什么意思


如果需要隐式同步,请使用
angularFire
,即对模型所做的任何更改都将立即传播到所有其他客户端(反之亦然)

如果要控制何时必须将任何本地数据更改发送到服务器,请使用
angularFireCollection
。任何远程更改仍将自动更新本地集合

隐式同步:

myapp.controller('MyCtrl',['$scope','angularFire',',
函数MyCtrl($scope,angularFire){
var promise=angularFire(url,$scope,'items',[]);
}
]);
第一个参数是要存储/检索数据的Firebase的位置。第二个参数是作用域,第三个参数是$scope下的属性名称,您希望在承诺履行后立即绑定数据。例如:

promise.then(函数(){
//$scope.items中提供的数据
});
第四个参数是您希望JS对象中的数据类型。使用
[]
表示数组,
{}
表示对象,
表示字符串,
1
表示数字,
true
表示布尔值。请注意,如果提供的Firebase位置中没有数据,您也可以使用此参数设置默认值

在隐式同步中,如果要进行任何更改,只需修改
$scope.items
,更改将通过Firebase自动与所有其他客户端同步。同样,任何远程更改都将自动更新
$scope.items

显式同步:

myapp.controller('MyCtrl',['$scope','angularFireCollection',
函数MyCtrl($scope,angularFireCollection){
$scope.items=angularFireCollection(url);
}
]);
此方法只接受一个参数。如果要添加或删除项目,请使用
添加
删除
更新
方法。例如:

$scope.items.add({test:“object”});

由于
angularFireCollection
不需要作用域,如果您想在控制器之外使用Firebase(如角度指令、模块等),也可以使用此功能。希望这有帮助

我想你在第一句话中的意思是“隐式”而不是“显式”。显式同步。所以我们不再使用.on().set().push()?谢谢@bennlich,修复了@不,在显式同步中,您只使用
add()
remove()
update()
。是的,我的意思是,在显式同步中,我们使用add()remove() 和更新()。我们不使用set()push()对吗@Anant@Anant我正在努力进行显式同步,尤其是这篇文章
$scope.items=angularFireCollection(url)。。。这将返回一个集合,但是,我的模型
$scope.items
是一个数组。。。我如何处理这个对象?