如何将 angular 的 $resource 与 TypeScript 和 d.ts 一起使用
How to use angular's $resource with TypeScript and d.ts
使用此 TypeScript(基于一些在线课程):
interface IProduct {
productName: string
}
interface IProductResource extends ng.resource.IResource<IProduct> {
}
interface IDataAccessService {
getProductService(): ng.resource.IResourceClass<IProductResource>
}
class DataAccessService implements IDataAccessService {
static $inject = ['$resource'];
constructor(private $resource:ng.resource.IResourceService) {
}
getProductService():ng.resource.IResourceClass<IProductResource> {
return this.$resource("sampleUrl");
}
}
angular.module('app').service('dataAccessService', DataAccessService);
我有一个代码使用 dataAccessService
:
var obj : IProductResource = dataAccessService.getProductService().get();
obj
具有所有 angular 的 REST 辅助方法,如 $save/$delete,但我无权访问接口 obj.productName
。这段代码有什么问题?
我想我明白了。应该是:
interface IProductResource
extends ng.resource.IResource<IProduct>, IProduct {
}
对此有何评论?
谢谢!
使用此 TypeScript(基于一些在线课程):
interface IProduct {
productName: string
}
interface IProductResource extends ng.resource.IResource<IProduct> {
}
interface IDataAccessService {
getProductService(): ng.resource.IResourceClass<IProductResource>
}
class DataAccessService implements IDataAccessService {
static $inject = ['$resource'];
constructor(private $resource:ng.resource.IResourceService) {
}
getProductService():ng.resource.IResourceClass<IProductResource> {
return this.$resource("sampleUrl");
}
}
angular.module('app').service('dataAccessService', DataAccessService);
我有一个代码使用 dataAccessService
:
var obj : IProductResource = dataAccessService.getProductService().get();
obj
具有所有 angular 的 REST 辅助方法,如 $save/$delete,但我无权访问接口 obj.productName
。这段代码有什么问题?
我想我明白了。应该是:
interface IProductResource
extends ng.resource.IResource<IProduct>, IProduct {
}
对此有何评论?
谢谢!