Здравствуйте, я пытаюсь создать угловое приложение. Итак, вот одна функция, которую я очень часто использую в большинстве своих контроллеров. Могу ли я создать одну функцию или один метод, чтобы я мог использовать эту функцию везде, как мы это делаем в PHP.
Вот функция, которая у меня есть:
var responsePromise = $http.get("http://www.somewebsite.com/api/get_category_index/");
responsePromise.success(function(data, status, headers, config) {
//console.log(data);
$scope.PostCategories = data.categories;
$scope.spinner = false;
});
responsePromise.error(function(data, status, headers, config) {
alert("ajax didnt work");
});
У меня есть несколько контроллеров, например, я подключаю 2 контроллера здесь:
var module = angular.module('app', ['onsen', 'ngSanitize']);
module.controller('directoryControl', function($scope, $http, $rootScope) {
ons.ready(function() {
$scope.spinner = true;
var responsePromise = $http.get("http://www.somewebsite.com/api/get_category_index/");
responsePromise.success(function(data, status, headers, config) {
//console.log(data.categories);
$scope.PostCategories = data.categories;
$scope.spinner = false;
});
responsePromise.error(function(data, status, headers, config) {
alert("ajax didnt work");
});
$scope.setCurrentCategory = function(categoryName){
$scope.CurrentCategory = categoryName;
$rootScope.CurrentCategory=$scope.CurrentCategory;
}
});
});
module.controller('directoryCategoryListing', function($scope, $http, $rootScope) {
ons.ready(function() {
$scope.CurrentCategory = $rootScope.CurrentCategory;
$scope.spinner = true;
var CategoryWiseListingPromise = $http.get("http://www.somewebsite.com/api/get_category_posts/?slug="+$rootScope.CurrentCategory+"&count=50");
CategoryWiseListingPromise.success(function(data, status, headers, config) {
//console.log(data.posts);
$scope.PostDetails = data.posts;
$scope.spinner = false;
});
CategoryWiseListingPromise.error(function(data, status, headers, config) {
alert("ajax didnt work");
});
$scope.setCurrentListing = function(listingName){
$scope.CurrentListing = listingName;
$rootScope.CurrentListing=$scope.CurrentListing;
}
});
});
Поэтому я просто хочу сделать это обычной функцией, которую я могу вызывать из контроллера.
И у меня была проблема с URL. Я хочу определить переменную URL, к которой я могу получить доступ отовсюду во всех контроллерах. Нравиться:
var WebsiteURL = "http://www.somewebsite.com/api/"
Кто-нибудь знает о том, что я могу достичь этого!
$scope, or $http
в качестве параметра. - person azium   schedule 26.04.2015