使用静态变量实现Typescript接口

时间:2014-03-02 17:59:32

标签: typescript

这来自sidewaffle template

interface Ifactory1 {
        greeting: string;
        serviceId: string;
        changeGreeting: () => void;
    }

    class factory1 implements Ifactory1 {
        static serviceId: string = "factory1";
        greeting = "Hello";

        constructor(private $http: ng.IHttpService, private $resource: ng.resource.IResourceService) {
        }

        changeGreeting() {
            this.greeting = "Bye";
        }
    }

    app1.factory(factory1.serviceId, ['$http', '$resource', ($http, $resource) =>
        new factory1($http, $resource)
    ]);

我收到错误:

Error   27  Class factory1 declares interface Ifactory1 but does not implement it:
    Type 'factory1' is missing property 'serviceId' from type 'Ifactory1'.  

1 个答案:

答案 0 :(得分:1)

无法从类的实例访问静态成员。您需要一个实例成员来完成该接口。