Ошибка: $injector:unpr Неизвестный поставщик DataServiceProvider (это я никогда не объявлял)

У меня есть эта ошибка:

Ошибка: [$ injector: unpr] http://errors.angularjs.org/1.5.6/$ injector / unpr? P0=DataServiceProvider%20%3C-%20DataService%20%3C-%20SignupController

Я предполагаю, что это потому, что DataService не найден, потому что он определен в другом каталоге? Или это не правильно определено?

SignUpController (принадлежит к основному приложению. Находится в src/public/xxx/xxx.controller.js):

var app = angular.module('app');  

SignupController.$inject = ['DataService'];
function SignupController(DataService) {
    // do stuff
}

app.controller("SignupController", SignupController);

DataService находится в data/dataservice.js

function DataService(){
    // do stuff
}
var datamodule=angular.module('data');
datamodule.service('DataService',DataService);

Я считаю, что "данные" правильно объявлены в data/data.module.js

angular.module('data', []);

и был введен в основное приложение в src/public/xxx/xxx.js

angular.module('app', ['ui.router', 'common','data']);

Порядок ссылки:

<script src="data/data.module.js" type="text/javascript"></script>
<script src="data/dataservice.js" type="text/javascript"></script>
<script src="src/public/xxx.js" type="text/javascript"></script>
<script src="src/public/xxx/xxx.controller.js" type="text/javascript"></script>

1 ответ

Порядок, который вы импортируете JS, имеет значение в этом случае. Импортируйте data/dataservice.js перед любым JS, где вы хотите использовать этот сервис или внедрить сервис

Другие вопросы по тегам