使用此类型脚本(基于某些在线课程):

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拥有像$save/$delete这样的所有angular的rest助手方法,但是我没有访问接口obj.productName。这个密码怎么了?

最佳答案

我想我明白了。应该是:

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

对此有何评论?
谢谢!

09-17 05:27