无法运行控制器

时间:2017-02-23 16:08:41

标签: javascript firebase ionic-framework firebase-realtime-database

我尝试使用离子框架做一个简单的应用程序,以了解如何使用Firebase和操作数据。我做了一切,但我的控制台什么也没显示。我无法运行我的控制器。有谁知道发生了什么?

我注入了所有东西,至少我认为我做了。我想这个错误就在决心之中。有没有人可以救我这个,拜托?

这是我的控制器:



(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, {
            ChangeState: ChangeState,
            Users:Users
        });


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




这是我的模块:



(function(){
    'use strict';

    angular
        .module('hsAdmin.users', [
            'ionic',
            'ngCordova',
            'hsAdmin.users'
        ])
        .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().$loaded().then(function(user){
                            return user;
                        }).catch(function(error){
                             console.log('Error when get users: ' + error);
                        })
                    }
                }
            });
        })  
})();




这是我的服务



(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,
            GetUsersById:GetUsersById
        };
        return service;

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

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




1 个答案:

答案 0 :(得分:0)

尝试以下列方式实现控制器。

(function() {
  'use strict';

  var UsersCtrl = function($scope, $state, Users) {

    var vm = angular.extend(this, {
      ChangeState: ChangeState,
      Users: Users
    });


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

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

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

})();