Я определил фабрику, которая делает запрос на получение, но когда я ввожу его в контроллер, он всегда выдает неопределенную ошибку.AngularJS - Я не понимаю, почему фабрика всегда не определена
Это фабрика:
(function() {
'use strict';
var app = angular
.module('myApp');
app.factory('homeFactory', homeFactory);
function homeFactory ($q, $http, $location) {
var data = {};
data.getProducts = getProducts;
function getProducts() {
return $http.get('http://localhost:8000/api/v1/products')
.error(errorMessage);
}
function errorMessage(response) {
console.log('There was an error', response);
}
return data;
}
})();
Это контроллер:
(function() {
'use strict';
var app = angular
.module('myApp');
app.controller('homeController', homeController);
homeController.$inject =[homeFactory];
function homeController(homeFactory) {
var home = this;
homeFactory.getProducts()
.success(success);
function success(jsonData, statusCode) {
console.log('The request was successful', statusCode);
console.dir(jsonData);
home.products = jsonData;
}
}
})();
Это, кажется, хорошо, но консоль бросает:
Uncaught ReferenceError: homeFactory is not defined
Если ошибка возникает в вашем контроллере, вы должны, вероятно, показать этот код (и фактическое ** сообщение об ошибке в полном объеме **). Используйте неинфицированную версию 'angular.js' для более подробных сообщений об ошибках – Phil