Я использую контроллер для загрузки данных продукта в массив $ rootScope. Я использую службу $ http и отлично работает, но теперь у меня есть новая функция, которая извлекает количество загружаемых продуктов. Я не могу использовать функцию, потому что реакция медленная. Мне было интересно, могу ли я использовать провайдера для загрузки количества продуктов для извлечения в режиме конфигурации до запуска приложений. И если бы я мог переместить массив $ rootScope в одну службу. Я не понимаю, угловые документов, они не очень полезны даже учебник по крайней мере, поставщикам услуг и услуг ...Угловой провайдер (услуга) для хранения данных, полученных от отдыха апи?
app.controller('AppController', [ '$rootScope', '$http', function ($rootScope,$http) {
$rootScope.empty = 0;
$rootScope.products = [];
$rootScope.lastId = 0;
$rootScope.getLastID = function() {
$http.get("app_dev.php/api/products?op=getLastId").success(function (data) {
$rootScope.lastId = data.lastId;
});
};
$rootScope.getProducts = function() {
if ($rootScope.empty === 0) {
for (i = 1; i < 100; i++) {
$http.get("app_dev.php/api/product/" + i).success(function (data) {
$rootScope.products.push(data);
});
}
}
$rootScope.empty.productos = 1;
};
}
Я сделал это с заводом и услугами, но не работаю.
app.factory('lastProduct', ['$http', function lastProductFactory($http) {
this.lastId;
var getLast = function() {
$http.get("app_dev.php/api/products?op=getLastId").success(function (data) {
lastId = data.lastId;
});
return lastId;
};
var lastProduct = getLast();
return lastProduct;
}]);
function productList($http, lastProduct) {
this.empty = 0;
this.lastId = lastProduct();
this.products = []
/*this.getLast = function() {
lastId = lastProduct();
};*/
this.getProducts = function() {
if (empty === 0) {
for (i = 1; i < lastId; i++) {
$http.get("app_dev.php/api/product/" + i).success(function (data) {
products.push(data);
});
}
}
empty = 1;
return products;
};
}
app.service('productsList', ['$http', 'lastProduct' , ProductsList]);
Могу ли я поставить логику $ http внутри метода set на myData()? – user92083452
Да работает нормально. Спасибо. Вы делаете это так просто. – user92083452
Но где я должен поместить $ http.get («app_dev.php/api/products? Op = getLastId»). Успех (функция (данные) { $ rootScope.lastId = data.lastId; }); – user92083452