2017-02-23 5 views
1

Ich versuche, eine einfache App zu tun, um zu lernen, wie Firebase zu bearbeiten und Daten darin zu manipulieren. Ich möchte eine Reihe von Benutzern erhalten, die in meiner Firebase vorhanden sind. Ich tat alles, aber wenn ich den Bildschirm anrufe, wird es nicht angezeigt, es bleibt auf dem Bildschirm, der ich war, und meine Konsole zeigt nichts. Kann mir jemand helfen?Wie bekomme ich Daten von Firebase?

Hier ist meine users.module

(function(){ 
 
    'use strict'; 
 

 
    angular 
 
     .module('hsAdmin.users', [ 
 
      'ionic', 
 
      'hsAdmin.common' 
 
     ]) 
 
     .config(function($stateProvider) { 
 
     
 
     $stateProvider 
 
      .state('app.users', { 
 
       url: '/users', 
 
       views: { 
 
        'menuContent': { 
 
         templateUrl: 'templates/users/users.html', 
 
         controller: 'UsersCtrl as vm' 
 
        } 
 
       }, 
 
       resolve:{ 
 
        Users: function(UsersService) { 
 
         return UsersService.GetUsers().then(function(users){ 
 
          return users; 
 
         }).catch(function(error){ 
 
          console.log('Error when get users: ' + error); 
 
         }) 
 
        } 
 

 
       } 
 
      }); 
 
     }) 
 
})();

Hier ist mein users.controller

(function(){ 
 
    'use strict'; 
 

 
    angular 
 
     .module('hsAdmin.users') 
 
     .controller('UsersCtrl', UsersCtrl); 
 

 
    UsersCtrl.$inject = ['$scope', '$state','Users']; 
 

 
    function UsersCtrl($scope, $state,Users){ 
 
     var vm = angular.extend(this, { 
 
    \t \t \t Users:Users, 
 
    \t \t \t ChangeState:ChangeState 
 
     }); 
 

 
     function ChangeState(state){ 
 
      $state.go(state); 
 
     } 
 

 
    }  
 
})();

Hier ist meine users.service

(function(){ 
 
    'use strict'; 
 

 
    angular 
 
     .module('hsAdmin.users') 
 
     .factory('UsersService', UsersService); 
 

 
    UsersService.$inject = ['fb', '$firebaseArray', '$firebaseObject','$q','$rootScope']; 
 

 
    function UsersService(fb, $firebaseArray, $firebaseObject,$q,$rootScope){ 
 
     var service = { 
 
      GetUsers:GetUsers 
 
     }; 
 
     return service; 
 

 

 
     function GetUsers(){ 
 
      var query = fb.child('/users'); 
 
      return $firebaseArray(query).$loaded(); 
 
     } 
 

 
     function GetUserById(id){ 
 
      var query = fb.child('/users/' + id); 
 
      return $firebaseObject(query).$loaded(); 
 
     } 
 
    } 
 
})();

Hilft mir jemand kann?

+0

Try angularfire https://github.com/firebase/angularfire zu verwenden – lesimoes

+0

ich schloss es bereits in meinem Projekt, aber es passiert nichts, wenn ich den Bildschirm –

+0

$ geladen() aufrufen, ist ein Versprechen Versuchen sie, diese Art und Weise nutzen:.. $() geladen dann (function() { ... }); – lesimoes

Antwort

0

Ich realisierte, was los war. Ich habe 2 Fehler gemacht, vor allem wurde ich nicht auf dem Firebase angemeldet (keine Authentifizierungsmethode), und um Daten vom Firebase zu erhalten, ist es notwendig, angemeldet zu werden. Der zweite Fehler ist, dass ich ‚$ scope“ in meinem Dienst injiziert. Ich die Login-tat, nahm den $ Umfang und alles hat gut funktioniert

Verwandte Themen