#angularjs #angularjs-scope
#angularjs #angularjs-область
Вопрос:
Я разрабатываю приложение с angularjs, у меня есть этот фрагмент кода для проверки того, вошел ли пользователь в систему в конце маршрутизаторов, я также определяю функцию в службе, чтобы функция была доступна в наших контроллерах
Вопрос:
Как получить доступ к myFunction из MyService внутри этой функции запуска?
И как выполнить вызов ajax внутри myFunction в MyService? На самом деле я не знаю, как передать параметр $ 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:
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
});
Комментарии:
1. и, пожалуйста, как насчет передачи этой службы функции run?