vzh*_*hen 6 angularjs firebase angularfire
我是firebase的新手.我想用angularjs构建它,我发现了angularfire.
在angularFire文档中列出了隐式和显式同步.我试图理解github中的文档,但我仍然不明白有什么区别以及如何使用它们.
angularFire()和angularFireCollection()
此外,什么是参数意味着angularFire()和angularFireCollection()?
谢谢你
Ana*_*ant 19
angularFire如果您想要隐式同步,请使用,即对模型所做的任何更改都会立即传播到所有其他客户端(反之亦然).
使用angularFireCollection,如果你想在任何时候本地数据更改都必须发送到服务器的控制权.任何远程更改仍将自动更新您的本地集合.
隐式同步:
myapp.controller('MyCtrl', ['$scope', 'angularFire',
function MyCtrl($scope, angularFire) {
var promise = angularFire(url, $scope, 'items', []);
}
]);
Run Code Online (Sandbox Code Playgroud)
第一个参数是您要存储/检索数据的Firebase的位置.第二个参数是范围,第三个参数是$ scope下的属性名称,您希望在履行承诺后立即绑定数据.例如:
promise.then(function() {
// Data available in $scope.items
});
Run Code Online (Sandbox Code Playgroud)
第四个参数是您在JS对象中需要的数据类型.使用[]数组,{}对于对象,""字符串,1数字和true布尔.请注意,如果提供的Firebase位置中没有数据,您也可以使用此参数来设置默认值.
在隐式同步中,如果要进行任何更改,只需修改$scope.items,更改将通过Firebase自动与所有其他客户端同步.同样,远程进行的任何更改都将自动更新$scope.items.
显式同步:
myapp.controller('MyCtrl', ['$scope', 'angularFireCollection',
function MyCtrl($scope, angularFireCollection) {
$scope.items = angularFireCollection(url);
}
]);
Run Code Online (Sandbox Code Playgroud)
此方法只接受一个参数.如果你想添加或删除项目,使用add,remove或update方法.例如:
$scope.items.add({test: "object"});
Run Code Online (Sandbox Code Playgroud)
由于angularFireCollection不需要范围,如果您想在控制器之外使用Firebase(如角度指令,模块等),也可以使用此功能.希望这有帮助!
| 归档时间: |
|
| 查看次数: |
3537 次 |
| 最近记录: |