Angular:不清楚Intellij为什么生成未解析的变量警告



我在理解Intellij生成未解析变量警告的原因时遇到问题。我希望有人能解释为什么会发生这种事。

我有一个接口:

export interface Foo {
property: string;
}

在我的组件中有一个可以观察到的类型:

foo$: Observable<Foo>

ngOnInit() {
this.foo$ = this._fooSvc.foo$;
}

可观察对象是从服务中检索的。服务声明返回类型:

private _fooSubject: ReplaySubject<Foo>;
get foo$(): Observable<Foo> => {
return _fooSubject.asObservable();
}

我使用async管道打开模板中的可观察对象,在那里我得到警告:

[ngClass]="{my-class: (foo$ | async)?.fileName === null}"

因此,我定义了一个类型,并在组件中获得该类型的可观察对象。我使用一个声明正确返回类型的服务方法来分配组件变量。仍然收到警告。

我错过了什么?为什么我得到";未解析的变量fileName;模板中的警告?

在WEB-451419上跟踪该问题,请关注它以获取更新

这可能是因为private-将此属性公开。

更改:private_fooSubject:ReplaySubject;

收件人:public _fooSubject:ReplaySubject;

或者您可以尝试File=>使缓存无效。但在您的情况下,我确信问题出在私有变量中——它不能解决html模板。

最新更新