【发布时间】:2018-09-29 00:10:57
【问题描述】:
在我的 Angular 应用程序中,我有一个过滤器功能,可以跟踪用户输入的过滤器值,以及这些过滤器值当前是否启用/激活。我正在像这样初始化这些过滤器:
filters = { language: [], location: [], zipArray: [], firstName: [], lastName: [] };
我在这段代码中遇到了 Typescript 错误——特别是这一行:return this.filters.zipArray = [];
public onZipcodeEnabledChange(enabled): void {
this.filters.zipArray = this.getZipcodeArray();
if (!enabled || this.filters.zipArray && this.filters.zipArray[0] === ''){
return this.filters.zipArray = [];
}
}
我得到的 TypeScript 错误是:
类型 'undefined[]' 不能分配给类型 'void'。
我不明白这里的问题是什么?
【问题讨论】:
-
您将
onZipcodeEnabledChange的返回类型设为void,但您返回的是一个空数组。设置zipArray过滤器后,尝试在单独的行上写return;。 -
void 表示它不返回任何内容,并且您有 2 个问题 1 您正在返回一个作业,另外两个如果您想解决,您正在返回一些东西:string[]
标签: javascript angular typescript