如何在TypeScript和d.ts中使用angular' s $资源

时间:2015-12-08 19:46:40

标签: angularjs typescript angular-resource

使用此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拥有所有有角度的REST辅助方法,例如$ save / $ delete,但我无法访问界面obj.productName。这段代码有什么问题?

1 个答案:

答案 0 :(得分:2)

我想我明白了。它应该是:

interface IProductResource
    extends ng.resource.IResource<IProduct>, IProduct {
}

对此有何评论?

谢谢!