Не удалось создать экземпляр модуля dataAccessService из-за: Ошибка: [$ injector: nomod] - PullRequest
0 голосов
/ 26 марта 2019

Браузер выдает мне эту ошибку Uncaught Error: [$ injector: modulerr] Не удалось создать экземпляр приложения модуля из-за: Ошибка: [$ injector: modulerr] Не удалось создать экземпляр модуля dataAccessService из-за: Ошибка: [$ injector: nomod] Модуль 'dataAccessService' недоступен! Вы либо неправильно написали имя модуля, либо забыли загрузить его. При регистрации модуля убедитесь, что вы указали зависимости в качестве второго аргумента.

Что вызывает это?

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

module app { 
    const app = angular.module("app", ["ngRoute","dataAccessService"]);
    app.config(routeConfig);

    // routeConfig.$inject["$routeProvider"];

    function routeConfig($routeProvider) {
        $routeProvider
            .when('/drivers', {
                templateUrl: './src/pages/drivers.html',
                controller: 'DriversListCtrl'
            })
            // .when('/teams', {
            //     templateUrl: './src/pages/teams.html',
            //     controller: 'teamsController'
            // })  
            // .otherwise({
            //     redirect:'/drivers'
            // })
    }
}

и мой сервис

module app.service {

    export interface IDataAccessService {
        getApi():ng.IPromise<IDriver>;
    }

    export interface IDriver {
        name:string;
        team:string;
        points:number;
    }

    export class DataAccessService implements IDataAccessService {


        static $inject = ['$http'];
        constructor(private $http: ng.IHttpService) {

        }
        getApi():ng.IPromise<IDriver>{
            return this.$http.get('https://ergast.com/api/f1/2013/driverStandings.json')
            .then((response:ng.IHttpPromiseCallbackArg<IDriver>):IDriver=>{ 
                return response.data;
            })
        }
    }

    angular.module("app",[]).service("dataAccessService", DataAccessService)
}

наконец-то контроллер

module app.driversList {
    export interface IDriversList {
        fullName:any;
    }

    export class DriversListCtrl implements IDriversList {
        fullName:any;

        static $inject = ["dataAcessService"];
        constructor(private dataAcessService:app.service.DataAccessService){

            this.dataAcessService.getApi().then((data:app.service.IDriver):void=>{
                this.fullName = data;
            })
        }



    }

    angular.module("app",[]).controller("DriversListCtrl", DriversListCtrl)
}

1 Ответ

0 голосов
/ 26 марта 2019

Проблема в том, что вы добавили несуществующий модуль dataAccessService к app зависимостям модуля здесь:

const app = angular.module("app", ["ngRoute","dataAccessService"]);
                                                      \
                                                       there is no such module

Вы должны либо определить модуль с помощью angular.module("dataAccessService", []) и зарегистрировать свой контроллер исервис внутри него, или просто удалите его из app зависимостей:

const app = angular.module("app", ["ngRoute"]);

Также похоже, что в вашем контроллере есть опечатка, что также приведет к исключению:

                          should be Access, not Acess
                         /
static $inject = ["dataAcessService"];
constructor(private dataAcessService:app.service.DataAccessService){
                          \
                           should be Access, not Acess
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...