Невозможно получить доступ к модулю angularjs внутри другого модуля - PullRequest
0 голосов
/ 04 октября 2019

У меня есть приложение angularJS с тремя модулями: myApp (родительский / основной модуль), сервисы (содержит все фабрики и сервисы) и контроллеры (содержит все контроллеры).

Это мое приложение. js файл

angular.module('services', []);
angular.module('controllers', []);
var app = angular.module('myApp', ['services', 'controllers']);

Я прочитал здесь , что настройка моих модулей и определение зависимостей таким образом позволят каждому из моих модулей получать доступ к другому без необходимости вставлять зависимости.

Вот мой файл index.html

<script src="/js/app.js"></script>
<script src="/js/services/testFactory.js"></script>
<script src="/js/controllers/testCtrl.js"></script>

файл testFactory.js

angular.module('services').factory('testFactory', ['$rootScope', 'apiCall', function($rootScope, apiCall){
    let testFactory = {};

    testFactory.testFunc = function(){
        console.log('testFactory.testFunc called');
    }

    return testFactory;
}])

файл testCtrl.js

angular.module('controllers').controller('testCtrl', ['$scope', 'testFactory', function($scope, testFactory){
    console.log("inside testCtrl");

    $scope.testing = function(){
        console.log("testing function called");
        testFactory.testFunc();
    }
}])

Когда я вызываю testFactory.testFunc внутри модуля myApp , он работает правильно. Но когда я пытаюсь вызвать его в модуле controller , я получаю следующую ошибку

TypeError: Невозможно прочитать свойство 'testFunc' из неопределенного

Я даже пытался внедрить модуль service в модуль controller в качестве зависимости, но я все еще получал ту же ошибку.

Как получить сервисный модуль для работы внутри контроллера модуля?

...