Ошибка: $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, где вы хотите использовать этот сервис или внедрить сервис