Создал эту службу, но получил неопределенную ошибку объекта. Таким образом, объект является нулевым, но почему, я чувствую, что делаю это правильно.
var app = angular.module('rollerApp', []);
app.factory('RollerService', function() {
var rollers = [
'roller1',
'roller2',
'roller3'
];
return {
get: function() {
return rollers;
},
};
});
app.controller('Index', ['$scope',function($scope,RollerService) {
$scope.rollers = RollerService.get;
}]);
TypeError: Невозможно прочитать свойство "получить" неопределенного
Начинающий в общем Javascript, так что некоторые объяснения были бы приятными.
Вы не ввели свой RollerService
:
app.controller('Index', ['$scope', 'RollerService', function($scope, RollerService) {
$scope.rollers = RollerService.get;
}]);
Инъекция угловой зависимости пытается быть умной, анализируя имя ваших параметров функции. Однако для защиты от проблем, вызванных изменением кода (который превращает имена параметров в неясные имена, такие как a
, b
и т.д.), Вы должны явно аннотировать свои функции, указав зависимости как строки, прежде чем определять сама функция.
Прочитайте больше:
Как только вы поймете, как работает Угловая зависимость, вы можете использовать такой инструмент, как ng-annotate
чтобы избавить вас от необходимости вручную устанавливать $inject
.