Bar*_*ama 5 javascript angularjs firebase angularfire
我正在使用firebase和angularfire.实际上有很多方法可以使用Firebase Api进行CRUD,我仍然没有得到使用的具体区别
我认为它们在技术上是相同的,我更喜欢使用.set方法()而不知道确切的原因,为什么我要使用它.有没有具体的理由不使用它?什么是$ firebaseArray呢?如果我们可以只声明基本参考变量.
在这种情况下:
var usersRef = Ref.child('users');
$scope.createUser = function() {
$scope.userRef.child($id).set({
name: name
});
};
Run Code Online (Sandbox Code Playgroud)
要么
$scope.data = $firebaseArray(Ref.child('users'));
$scope.createUser = function() {
$scope.data.child($id).$add({
name: name
});
};
Run Code Online (Sandbox Code Playgroud)
谢谢.
Aar*_*nco 11
如果我在Firebase中有以下数据树:
{
users:
{
key: { name:"bob" }
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行$ add时,我将在树中创建一个新项目
$scope.data.child('users').$add({
name: name
});
Run Code Online (Sandbox Code Playgroud)
由于$ add使用Firebase中的Push方法,因此在将数据推送到子项时将使用新的随机密钥.
{
users:
{[
key: { name:"bob" },
key2: { name:"name" }
]}
}
Run Code Online (Sandbox Code Playgroud)
如果我在同一个Users对象上设置了一个set,我将覆盖已存在的数据.因此,在您的示例中,如果不指定密钥,您将覆盖整个用户对象.
$scope.userRef.child('users').set({
name: name
});
};
Run Code Online (Sandbox Code Playgroud)
这将导致此数据
{
users:
{
name: "name"
}
}
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为传递给Set方法的任何空值都将删除最初存在的任何数据.
将null传递给set()将删除指定位置的数据. https://www.firebase.com/docs/web/api/firebase/set.html
| 归档时间: |
|
| 查看次数: |
8517 次 |
| 最近记录: |