将服务传递给angularjs中的Application Config

时间:2014-07-01 09:04:36

标签: angularjs angularjs-scope

我正在使用angularjs开发一个应用程序我有这段代码用于检查用户是否在路由器末端登录我还在服务中定义了一个函数,以便在我们的控制器中访问一个函数

问题:

如何在该运行函数中从MyService访问myFunction?

如何在myService中的myFunction中进行ajax调用?实际上我不知道如何将$ http参数传递给MyService以及如何将MyFunction从MyService传递给MyApp运行函数。

   MyApp.config(function($routeProvider) {
       $routeProvider
       .when('/fooRoute', {
          templateUrl : 'fooURL',
          controller : 'fooController'
       })
   }).run(function( $rootScope, $location, $templateCache, $http) {
       if (signed_in == false) {
            $location.path("/login");                    
        } else {
           //Here I need to call the function of MyService
        }
  });

这是我的服务代码:

   MyApp.factory('MyService', function() {
    return {           
        myFunction : function() {

           //Here I need to make an ajax call

        }
      };
    });

1 个答案:

答案 0 :(得分:1)

MyApp.factory('MyService', ['$http', function ($http) {
  return {
    myFunction: function () {

      //Here I need to make an ajax call
      $http.get()

    }
  };
}]);

// upd

.run(function($rootScope, $location, $templateCache, $http, MyService) {
    // your code
});