2017-02-23 79 views
1

我試圖做一個簡單的應用程序來學習如何獲取Firebase並操作其中的數據。我想獲取我的Firebase中存在的用戶數組。 我做了所有事情,但是當我調用屏幕時它不顯示,它保留在我的屏幕上,而我的控制檯沒有顯示任何東西。誰能幫我?如何從Firebase獲取數據?

這裏是我的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); 
 
         }) 
 
        } 
 

 
       } 
 
      }); 
 
     }) 
 
})();

這裏是我的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); 
 
     } 
 

 
    }  
 
})();

這裏是我的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(); 
 
     } 
 
    } 
 
})();

有誰可以幫我嗎?

+0

嘗試使用angularfire https://github.com/firebase/angularfire – lesimoes

+0

我已經包含在我的項目,但是當我打電話屏幕加載()是一個承諾 –

+0

$沒有迴應,建議用這種方式:。 $加載(),然後(函數(){ ... }); – lesimoes

回答

0

我意識到發生了什麼事情。我犯了兩個錯誤,首先,我沒有在Firebase中使用(沒有身份驗證方法),並且從Firebase獲取數據是必要的。第二個錯誤是,我在服務注入「$範圍。」我沒有登錄,拿了的$範圍,一切運行良好

相關問題