/ / Ъглово - Проблем с инжектиране на фабрика в контролер - ъглови, инжектиране на зависимостта, контролер, фабрика

Ъглово - Проблеми при инжектиране на фабрика в контролер - ъгловъджици, инжектиране на зависимости, контролер, фабрика

Опитвам се да отделя ъгловия си код от фабриките, така че контролерите ми не стават неизползваеми. По-конкретно, в моята фабрика ще публикувам код, който ще бъде споделен между няколко контролери.

Проблемът е, че не мога да инжектирам фабрика в контролера си, без значение какво правя.

Тук е моята фабрика

angular.module("my-app")
.factory("Game", function() {
var colors = ["#FF0000", "#660000", "#FF3300", "#FF9900", "#003300",
"#000033", "#660033", "#FF0033", "#383838"];
});

Тук е моят контролер

angular.module("my-app")
.controller("gamesController", ["$scope", "$interval", "Game",
function($scope, $interval, Game) {

И тук е моята поръчка за товарене

<script src="scripts/app.js"></script>
<script src="scripts/services/game.js"></script>
<script src="scripts/controllers/navController.js"></script>
<script src="scripts/controllers/gamesController.js"></script>

взимам undefined provider и не мога да разбера къде е проблемът.

Отговори:

1 за отговор № 1

Ъгловата фабрика трябва да има възвратен резултат.

Синтаксис: module.factory ("factoryName", функция);

Резултат: Когато декларирате factoryName като инжекционен аргумент, ще бъде осигурена стойността, която се връща чрез извикване на препратката към функцията, предадена на module.factory.

Вашата фабрика трябва да е така:

angular.module("my-app")
.factory("Game", function() {
return { colors : ["#FF0000", "#660000", "#FF3300", "#FF9900", "#003300",
"#000033", "#660033", "#FF0033", "#383838"]
}
});

ако искате да научите повече подробности, моля, посетете AngularJS: Обслужване срещу доставчик срещу завод