angular-cookies DefinitelyTyped

angular-cookies DefinitelyTyped

我正在使用 angularjstypescript 创建一个应用程序。我正在使用 cookie 来存储有关用户登录和权限等的相同数据。我 运行 遇到 angular-cookies.d.ts 文件的问题。

$cookieStore 工作得很好,但根据 AngularJS docs 的说法,此服务已被弃用,因此我尝试改用 $cookies。 在编译 Property 'put' does not exist 时使用 $cookies 导致错误,所以我检查了定义,在 ICookiesService 接口中确实没有 属性 这样的名称。

declare module "angular-cookies" {
    var _: string;
    export = _;
}

declare module angular.cookies {

    interface ICookiesService {
        [index: string]: any;
    }

    interface ICookieStoreService {
        get(key: string): any;
        put(key: string, value: any): void;
        remove(key: string): void;
    }
}

到底是这个类型定义有误还是我做错了什么? 感谢您的回复。

Angular 1.4 的 DefinitelyTyped 定义似乎尚未更新。 ICookiesService 接口应该是这样的:

interface ICookiesService {
    get(key: string): string;
    getObject(key: string): any;
    getAll(): any;
    put(key: string, value: string, options?: any): void;
    putObject(key: string, value: any, options?: any): void;
    remove(key: string, options?: any): void;
}

以后,您可以随时在 GitHub 上提交拉取请求以更新定义。我现在 created one 了。

更新:

上面提到的拉取请求已合并,因此这应该不再是问题。