ngstorage库的类型定义如下:
import * as angular from 'angular';
declare module 'angular' {
export namespace storage {
export interface IStorageService {
//interface definition
}
export interface IStorageProvider extends angular.IServiceProvider {
//interface definition
}
}
}
三个问题:
export namespace storage
中导出命名空间是什么意思?如何将IStorageService
导入我的.ts
文件?到目前为止,我没有尝试过任何工作。
import { IStorageService } from 'ngstorage'
import { IStorageService } from 'angular.storage'
或直接引用IStorageService,如下所示:
angular.storage.IStorageService
答案 0 :(得分:1)
它被称为Module Augmentation,它是一种向现有模块添加定义的方法。
在这种情况下,当您导入发布的文件时,它会将新定义添加到angular
模块,就像js文件在运行时一样。
您应该可以像这样导入它:
import * as angular from 'ngstorage';
let a: angular.storage.IStorageService;
...
尝试:
import * as angular from 'angular';
import 'ngstorage';
let a: angular.storage.IStorageService;