typescript - 我如何告诉 TypeScript 订阅函数的结果是一个 x 数组?
问题描述
我在使用 noImplictAny 和带有 Angular 6 的 typescript 时遇到了类型的概念。基本上编译器告诉我结果的类型是 Object,而我知道实际类型将是制造商类型的数组。我无法将结果分配给我的制造商数组,因为 typescript 确定结果是 Object 类型(因为它没有方法签名,所以它是隐式的)。
当我无法控制结果的输入时,如何使用 noImplicitAny?还是我?
interface Manufacturer {
key:string;
i18nName: string;
}
public manufacturers:Manufacturer[];
public manufacturersCollapsed: collapse[] = [];
constructor(private http: HttpService) {
}
private getManufacturers() {
this.http.get('manufacturers.json').subscribe(result => {
console.log(result);
this.manufacturers = result;
});
}
解决方案
您可以像这样定义类型
subscribe((result:Manufacturer[]) =>
推荐阅读
- excel-formula - sumproduct 与重复 - 只想要第一个实例
- selenium - 如何修复单击但不执行任何操作的按钮?
- regex - 正则表达式用多行替换单行
- c - C中浮点数组的内存分配
- r - 安装 rgeos Redhat
- freemarker - Freemarker 将转义的 ${expression} 分配给变量
- python - to_numeric 返回 NaN 相关
- git - 如何保持两个独立的工作目录同步——或者 git 能够识别相同的提交?
- angular - 在自定义指令中访问 ng-template 上的 let- 变量
- uwp - 无法使用 Open Sans 字体渲染特殊字符?