【问题标题】:Confusion about the AngularFire() controller关于 AngularFire() 控制器的困惑
【发布时间】:2014-04-10 12:57:33
【问题描述】:

所以在这几天习惯了 AngularFire 之后,我偶然发现了 angularFire() 构造函数。

我现在这样称呼它:

angularFire(new Firebase(FBURL + '/users' + $scope.auth.id), $scope, 'user');

如果我理解正确,第一个参数是指向当前登录用户的 url(假设我的登录正常工作,它确实如此)。

第二个参数是我想将它绑定到一个范围。

第三个参数是这个范围的字符串化名称,对吗?

我从本教程中获得了 angularFire 构造函数:http://www.thinkster.io/angularjs/eHPCs7s87O/angularjs-tutorial-learn-to-rapidly-build-real-time-web-apps-with-firebase#item-526c8aae0717fcb66f00020f

  $scope.$on('angularFireAuth:login', function() {
        angularFire(new Firebase(FBURL+'/users/'+$scope.auth.id), $scope, 'user');
      });

现在我这样做了:

console.log($scope.auth.id);
//prints 16, at this location there is a user
console.log($scope.user)
//prints undefined

我期待 $scope.user 持有我的用户对象,因为在链接处确实是我的用户对象。在尝试将“{}”作为第 4 个参数传入以显式请求对象后,它仍然失败。

【问题讨论】:

    标签: angularjs firebase angularfire


    【解决方案1】:

    我不熟悉您使用的构造函数。您应该使用 $firebase 函数来设置绑定。

    $scope.user = $firebase(new Firebase(FBURL + '/users/' + $scope.auth.id))
    

    查看@https://www.firebase.com/quickstart/angularjs.html 快速浏览。

    【讨论】:

    • angularFire 和 $firebase 不是一回事吗?
    • AngularFire 是库的名称,但它不直接公开“AngularFire”对象。它将它包装在一个 Angular 模块中,并将其公开为 $firebase。所以我不确定你从哪里得到带有这些参数的 angularFire 构造函数——除非它是你在其他地方创建或找到的?
    • @RobinHellemans - 这是我认为指向 angularFire v0.3.0 api 的旧教程。我不记得该版本的所有细节,但如果您对更新的教程感兴趣,请查看thinkster.io/angularjs/r1gRPYp4kM/…。 AngularFire 目前是 v0.7.1,自 v0.3.0 以来 API 发生了很大变化
    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 2019-05-17
    • 2020-03-06
    • 2016-03-16
    • 2013-07-27
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    相关资源
    最近更新 更多