Angularjs Angular/Typescript,此.$资源不是函数
我得到一个TypeError:this.$resource不是一个函数。这是我的密码Angularjs Angular/Typescript,此.$资源不是函数,angularjs,typescript,ngresource,Angularjs,Typescript,Ngresource,我得到一个TypeError:this.$resource不是一个函数。这是我的密码 export class DataAccessService implements IDataAccessService { static $inject = ["$resource"]; constructor(private $resource: ng.resource.IResourceService) { } getTravelExpenseType(): n
export class DataAccessService
implements IDataAccessService {
static $inject = ["$resource"];
constructor(private $resource: ng.resource.IResourceService) {
}
getTravelExpenseType(): ng.resource.IResourceClass<T> {
return this.$resource('URL:id', {}, {});
}
}
common.service("dataAccessService",
[DataAccessService]);
导出类DataAccessService
实现IDataAccessService{
静态$inject=[“$resource”];
构造函数(私有$resource:ng.resource.IResourceService){
}
GetTravelexPensetType():ng.resource.IResourceClass{
返回此。$resource('URL:id',{},{});
}
}
common.service(“dataAccessService”,
[DataAccessService]);
问题是您正在传递一个数组作为服务定义。当您这样做时,您应该首先列出要注入数组中的依赖项,并将构造函数作为最后一个元素。因为您没有列出任何要注入的依赖项,所以不会注入任何依赖项
只需除去阵列:
common.service("dataAccessService", DataAccessService);
是否正在加载依赖项angular-resource.js?如何使用
getTravelExpenseType
方法?@Arno\u Geismar是的,我正在索引中加载angular-resource.js。html@dsfqvar traveExpenseTypeResource=dataAccessService.getTravelExpenseType();traveExpenseTypeResource.query((数据)=>{this.travelExpenseTypes=data;})代码>谢谢。这就解决了问题。
common.service("dataAccessService", DataAccessService);