как отобразить моих пользователей из firebase с помощью angularjs

0

Я пытаюсь отобразить имена моих пользователей в списке, используя angularjs. уже пытался найти ответ в документах.

"users" : {
    "simplelogin:24" : {
      "age" : "24",
      "email" : "[email protected]",
      "gender" : "male",
      "location" : "USA",
      "name" : "IY"
    },
    "simplelogin:25" : {
      "age" : "21",
      "email" : "[email protected]",
      "gender" : "female",
      "location" : "USA",
      "name" : "iris"
    }
  }

вот что я пытаюсь сделать:

var app = angular.module('myApp.home', ['firebase.auth', 'firebase', 'firebase.utils', 'ngRoute']);

  app.controller('HomeCtrl', ['usersList','$scope', 'fbutil', 'user', '$firebaseObject', 'FBURL',
    function (usersList, $scope, fbutil, user, $firebaseObject, FBURL) {
    $scope.syncedValue = $firebaseObject(fbutil.ref('syncedValue'));
    $scope.user = user;
    $scope.FBURL = FBURL;
    $scope.users = usersList;
  }]);

  app.factory('usersList', ['fbutil', '$firebaseArray',
   function(fbutil, $firebaseArray) {
    var ref = fbutil.ref('users').limitToLast(50);
    return $firebaseArray(ref);
  }]);

а также:

<ul><li ng-repeat='user in users'>{{user.name}}</li></ul>
Теги:
firebase
angularfire

2 ответа

1

Самый простой способ получить пользователей и показать их:

    var app = angular.module('myApp.home', [])

      app.factory('usersList', function(fbutil, $firebaseArray) {
        //Get the firebase reference
        var ref = fbutil.ref('users');
        //return the array of users
        return $firebaseArray(ref);
      });

      app.controller('HomeCtrl', function (usersList, $scope) {
        //Put the users array in the scope.users
        $scope.users = usersList;
      });

И ng-repeat просто остается прежним.

  • 0
    Это выглядит так же, как у OP в его примере кода, хотя, возможно, оно было добавлено после вашего ответа.
0

Поскольку вы не указали код angularJS, я не знаю, как исправить ваш код.

Однако я могу сообщить о том, как отобразить свойство name объекта firebase.

    var ref = new Firebase(your firebase url);
    var userOne = $firebaseObject(ref.child('users').child('simplelogin:24'));
    userOne.$loaded(function(){
                console.log(userOne.name);
              });
    var userTwo = $firebaseObject(ref.child('users').child('simplelogin:25'));
    userTwo.$loaded(function(){
    console.log(userTwo.name);
});

Надеюсь, этот код вам нужен.

И вы прочитали документ angularFire?

https://www.firebase.com/docs/web/libraries/angular/api.html

Попробуй!

  • 0
    я разместил свой код, надеюсь, вы можете понять лучше
  • 0
    Можете ли вы попробовать это так? (1) $ scope.users = usersList. $loaded (). Then (function () {return usersList;}); ИЛИ (2) $ scope.users = usersList; в чем конкретно твоя проблема?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню