【发布时间】:2019-08-17 00:49:23
【问题描述】:
浏览器向我抛出此错误未捕获错误:[$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)
}
【问题讨论】:
标签: angularjs typescript