我正在使用 AngularFire,如何检索此 "email"、"uid" 数据?

I'm using AngularFire, How can I retrieve this "email", "uid" data?

JS 代码

 var myFirebaseRef = new Firebase('https://blinding-inferno-7068.firebaseio.com/');
     var createdUserRef = myFirebaseRef.child('users').child('createdUser');
     $scope.users = $firebaseArray(createdUserRef);

HTML 代码

        <ul ng-repeat="user in users">
            <li>{{user.uid}}</li>
            <li>{{user.email}}</li>
            <li>{{user}}</li>
        </ul>

我想要的是user.uid和user.email,但是那些东西没有出来。 于是查了下用户对象,这些东西就出来了

{"-Js0q1mWTwK-AZDZyVdc":{"email":"roro7828@gmail.com","uid":"simplelogin:11"},"$id":"simplelogin:11","$priority":null}

如何检索密钥的值? (我指的是 email 的值和 uid 的值)

我是否必须通过输入这样的代码来检索该数据?

{{用户.-Js0q1mWtwk-AZDZyVdc.email}}

像这样?太可怕了。

请帮帮我T_T..

让我们看看你的实际数据:

{
  "users": {
    "createdUser": {
      "simplelogin:11": {
        "-Js0q1mWTwK-AZDZyVdc": {
          "email": "roro7828@gmail.com",
          "uid": "simplelogin:11"
        }
      },
      "simplelogin:12": {
        "-Js0qpcW6jI9Yf3kplCs": {
          "email": "ao7828@gmail.com",
          "uid": "simplelogin:12"
        }
      },
      "simplelogin:13": {
        "-Js0qrEbzYnFOOWtnCbg": {
          "email": "do7828@gmail.com",
          "uid": "simplelogin:13"
        }
      }
    },
    ...
  }
}
  • 您可以通过 new Firebase('https://blinding-inferno-7068.firebaseio.com/').once('value', function(s) { console.log(JSON.stringify(s.val())); }, function(e) { console.error(e); }) 或查看应用程序仪表板中的“数据”选项卡来获取此类数据转储。*

您的 $firebaseArray 包含 objects,例如:

      "simplelogin:11": {
        "-Js0q1mWTwK-AZDZyVdc": {
          "email": "roro7828@gmail.com",
          "uid": "simplelogin:11"
        }
      },

而且simplelogin:11下面没有childemail。这就是为什么您看不到该输出的原因。

您似乎不小心通过 $add 操作添加了用户,这在上面的示例中创建了 "-Js0q1mWTwK-AZDZyVdc"。您应该改为使用 $save 或仅使用常规的 Firebase JavaScript SDK:

ref.child('users/createdUser').child(user.uid).set(user);

请注意,在没有看到用于创建这些用户的代码的情况下进行解释有点棘手。因此,如果您编辑您的问题以包含该代码,我会更新我的答案。