Angular和Rxjs:无法赋予方法的'this'类型'Observable< {}>'错误

时间:2018-03-07 14:03:46

标签: angular typescript rxjs

我在角度组件中有以下功能。

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",

我真的把头靠在墙上试图跟踪这个错误。它看起来应该对我有用。我错过了什么?

0 个答案:

没有答案