2015-05-23 5 views
1

Здравствуйте, я не могу вызвать заводскую функцию. Когда я использую его у меня есть следующее сообщениеИнъекция фабрики в угловом

enter image description here

Вот моя фабрика

enter image description here

и контроллер с вызовом

enter image description here

При попытке печати Учетная запись, она не определена. Может ли кто-нибудь увидеть мою ошибку? Спасибо

+1

Просьба скопировать код на вопрос в виде текста, а не как снимок экрана. – JJJ

+0

добавить службу учетной записи для контроллера. Перед 'функцией' и после' $ location' –

+0

@MehrdadKamelzadeh Я честно интересуюсь, почему вы не опубликовали это как ответ? Я вижу, что люди так много делают на SO – z0r

ответ

3

Это потому, что Account не объявлен как зависимость от контроллера. Измените его на:

.controller('forgotController', ['$scope', '$location', 'Account', 
           function($scope, $location, Account) { 

Для этого, чтобы работать, вы должны убедиться, что Account доступна инжектором для вашего модуля. Поэтому, когда вы объявляете модуль, в котором находится ваш контроллер, если он не находится в одном модуле, обязательно укажите AccountService как module dependency. Например:

angular.module('ForgotModule', ['AccountService']) 
    .controller('forgotController', ['$scope', '$location', 'Account', 
            function($scope, $location, Account) { 
+0

Если бы я сделал это, у меня была ошибка впрыска –

+0

Спасибо большое :) –

+1

@DavidLuque OK, я добавил некоторую информацию об зависимостях модулей. – z0r

Смежные вопросы