我刚刚安装了一个NGX的角度项目。
在我的状态下,我有以下几点:
@Injectable()
export class AuthState {
@Selector()
static isAuthenticated(state: AuthStateModel) {
return state.currentUser !== null;
}
//...
}
在一个组件中,我将执行以下操作:
export class HeaderComponent implements OnInit {
@Select(AuthState.isAuthenticated) isAuthenticated$: Observable<boolean>;
//...
}
但它给了我一个编译错误:
src/app/layout/header/header.component.ts:14:38 - error TS2564: Property 'isAuthenticated$' has no initializer and is not definitely assigned in the constructor.
14 @Select(AuthState.isAuthenticated) isAuthenticated$: Observable<boolean>;
~~~~~~~~~~~~~~~~
我完全理解为什么angular无法知道它会被正确初始化。
我搜索了一下,发现了很多指向禁用属性初始化检查的链接
"strictPropertyInitialization": false
在Tconfig里。
但问题是我喜欢这个检查,我不想禁用它。必须有一种方法可以不禁用整个应用程序,但仍然使用NGXS Select,对吗?