我在角度组件中有以下功能。
getPreviewFilterColumns(): Observable<string[]> {
return this.userFiltersBehaviorSubject.asObservable()
.pipe(
map(filters => this.flattenFilterColumns([], filters.rules))
);
}
构建项目时,我收到以下错误。
src / app / services / row-filter.service.ts(248,24):错误TS2684: 'this'类型的'this'上下文不能赋予方法的'this' 输入'Observable&lt; {}&gt;'。
第248行是map()函数的行。
所使用的变量和函数的类型和声明如下。
private userFiltersBehaviorSubject = new BehaviorSubject<FilterGroup>(_.cloneDeep(DEFAULT_FILTER_GROUP));
private flattenFilterColumns(array: string[], rules: any): string[] {
for (const rule of rules) {
if (_.has(rule, 'rules')) {
this.flattenFilterColumns(array, rule);
} else {
array.push(rule.field);
}
}
return array;
}
我的package.json文件显示我正在使用以下内容。
"rxjs": "5.5.2",
"@angular/cli": "^1.5.0",
"@angular/common": "5.0.0",
"@angular/compiler": "5.0.0",
"@angular/compiler-cli": "5.0.0",
"@angular/core": "5.0.0",
"@angular/forms": "5.0.0",
"@angular/http": "5.0.0",
"@angular/platform-browser": "5.0.0",
"@angular/platform-browser-dynamic": "5.0.0",
"@angular/router": "5.0.0",
我真的把头靠在墙上试图跟踪这个错误。它看起来应该对我有用。我错过了什么?