firebase快照不会返回值

时间:2015-04-05 17:04:50

标签: database angularjs firebase

这里的另一个问题,

我正在使用firebase和angular js,并尝试使用以下代码将数据从我的数据库返回到控制台日志:

        function userCtrl($scope){
    $scope.userName="";
    $scope.myData = new Firebase ("https://yjyc-signup.firebaseio.com/Entries");
    $scope.users={};

        $scope.saveUser = function(){
          $scope.myData.push({userName: $scope.userName});
            $scope.userName="RESET";
        };
   $scope.myData.on('value', function(snapshot) {
       $scope.users = snapshot.val();
       console.log("Author: " + $scope.users.name);

});

但是控制台返回“作者:未定义”,尽管我的数据库中有一个名称值。

任何人都可以帮助我,这将是惊人的

1 个答案:

答案 0 :(得分:0)

使用AngularFire时,您需要先同步参考,然后才能从中获取任何数据。此外,您正在尝试使用AngularFire不存在的Firebase功能,据我所知。而是尝试在控制器中注册$watch函数,每次$watch执行时,您都会从参考中获取信息。像这样:

myApp.controller('UserCtrl', ['$scope', function($scope) {

    $scope.$watch('watchedExpression', function() {

        var ref = new Firebase ("https://yjyc-signup.firebaseio.com/Entries");
        var syncedRef = $firebase(ref);

        console.log('Author:' + syncedRef.name); //You need to change this path to work with your Firebase tree structure

    });

}]);

如果您不想注册$watch函数,可以查看三向数据绑定,可以在AngularFire文档中查看此here