我有一个简单的Angular functional路由守卫,它从服务的Subject<boolean>
属性中检索boolean
值.警卫看起来像预期的那样工作,看起来是这样的:
export const isConfigValidGuard = () => {
const configService = inject(ConfigService);
const notificationService = inject(NotificationService);
const router = inject(Router);
configService.configValidation$.subscribe({
next: (isValid) => {
if (isValid) {
return true;
} else {
notificationService.warn('invalid config, redirecting to home');
return router.parseUrl('/home');
}
}
});
};
我的问题是,我是否需要取消订阅configService.configValidation$
,如果需要,如何取消订阅.同样,configService.configValidation$
的类型是Subject<boolean>
.