什么在0.8 angularFire更新后取代了$ child方法?

时间:2015-01-26 21:16:14

标签: object set firebase angularfire

我试图使用angularFire中的$child方法在我的数据库中设置一些信息,但只是意识到它已在0.8版本更新中被完全删除。

然后我通过阅读以下内容来查看更换的内容:

https://www.firebase.com/blog/2014-07-30-introducing-angularfire-08.html

但这并没有说明情况。

如果我遇到这样的情况:

$scope.validate = function() {
    //--- Some validation here ---//

        var userInfo = {
            firstname: $('#firstname').val(),
            lastname: $('#lastname').val(),
            streetAddress: $('#street-address').val(),
            city: $('#city').val(),
            zip: $('#firstname').val(),
            country: $('#country').val(),
            email: $('#email').val(),
            password: $('#password').val(),
            confirmedPassword: $('#confirmed-password').val()
        }

    $scope.registerNewUser(userInfo);
},
$scope.registerNewUser = function(userInfo) {

    var ref = new Firebase("https://pie-shop.firebaseio.com/");
        ref.createUser({
            email    : userInfo.email,
            password : userInfo.password
        }, function(error, user) {
            if (error === null) {
                $scope.storeUserInfo(userInfo, user);
            }
            else {
                console.log(error);
            } 
        });
},
$scope.storeUserInfo = function(userInfo, user) {

    var ref = new Firebase('https://pie-shop.firebaseio.com/users/' + user.uid);

    var sync = $firebase(ref);

    sync.$child(user.uid).set({
        firstname: userInfo.firstname,
        lastname: userInfo.lastname,
        streetAddress: userInfo.streetAddress,
        city: userInfo.streetAddress,
        zip: userInfo.zip,
        country: userInfo.country
    });
}

我需要设置一个名为user.uid的密钥(这是用户的id),并且此密钥应该包含userInfo对象的信息,我现在该如何做{ {1}}已删除?我一直在寻找几个小时但却找不到任何关于如何在angularFire中专门解释的内容。

发布前留言

在检查了API文档here之后,它说只使用$child应该可以正常工作,但就我而言,它也不适用于我。有人能告诉我哪里出错了吗?

1 个答案:

答案 0 :(得分:1)

我不完全确定AngularFire的0.8 $child方法之前做了什么。但它可能与Firebase的常规child方法有关。

在这种情况下,而不是:

var ref = new Firebase(...);
var sync = $firebase(ref);
sync.$child(user.uid)...

你也可以这样做:

var ref = new Firebase(...).child(user.uid);
var sync = $firebase(ref);
sync...