2015-04-01 5 views
1

Я просрочен для инъекций моей первой угловой фабрики. , ,Инъекционный первый угловой завод

Мой код:

.factory('Debts', function($q, $scope){ 
    return MA; 
}) 

.controller('Admin', function ($scope, Debts) { 
     $scope.Debts = Debts; 
     $scope.Debts.MA(); 
}) 

С $ объема в моей фабрике, я получаю следующее сообщение об ошибке: Неизвестный Провайдер: $ scopeProvider < - $ Scope < - Долги

Я где-то читал, что мы не должны включают $ scope на заводе, но когда я его вынимаю, я получаю две ошибки:

1) Поставщик «Долги» должны возвращать стоимость от метода $ get factory 2) Uncaught ReferenceError: $scope is not defined

Код моей фабрики - несколько сотен строк и да, она ссылается на $ scope и $ q. Пожалуйста, дайте мне знать, что мне нужно изменить, чтобы сделать эту работу.

+0

Что такое «MA», которое вы пишете как возвращаемое значение в заводском коде Depts? – yazaki

+0

Что такое 'MA'? И вы не должны использовать '$ scope' в сервисе. Вам придется реорганизовать, чтобы не использовать его. – adarsh

+0

Я могу взять $ scope. MA - массив объектов. Как насчет другой ошибки в отношении $ get – rashadb

ответ

0

$scope доступен только для controllers и для функции связи directives. Вот почему завод не может его найти. Может, ты имел в виду $rootScope?

.factory('Debts', function($q, $rootScope){ 
    return MA; 
}) 

???

+0

Я все еще получаю ошибку метода get get. Мне просто сказали, что я не могу использовать $ scope в сервисе. , , так какой из них? В этом случае он незначительный на заводе и легко реорганизован. – rashadb

+0

ООП, я обновил свой ответ. –

+0

Да, я все еще получаю ошибку метода get get get. – rashadb

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