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



JS CODE

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

网页代码

        <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}

如何检索密钥的值?(我的意思是电子邮件的价值和uid的价值)

我是否应该通过放置这样的代码来检索该数据?

{

{user.-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包含如下对象:

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

而且没有孩子email simplelogin:11.所以这就是为什么你没有看到那个输出。

看起来您不小心使用$add操作添加了用户,该操作在上面的示例中创建了"-Js0q1mWTwK-AZDZyVdc"。相反,您应该使用$save或仅使用常规的Firebase JavaScript SDK:

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

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

最新更新