我在理解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模板。