Как проверить, не является ли субъект не нулевым? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть следующий код:

@Injectable()
export class FilterRegister {
  public registerFilter: Subject<any> = new Subject();
  public registerFilterParameters: Subject<any> = new Subject();

  getFilter(): Observable<any> {
    return this.registerFilter.asObservable();
  }

  getParameters(): Observable<any> {
    return this.registerFilterParameters.asObservable();
  }
}

Как проверить в шаблоне, если registerFilter не ноль?Нравится:

<div *ngIf="!!registerFilter"></div>

1 Ответ

1 голос
/ 07 июня 2019

, поскольку registerFilter можно наблюдать, вам нужно использовать async трубу или subscribe

либо

registerFilter$: Observable<any>

this.registerFilter$ = service.getFilter();

<div *ngIf="(registerFilter$ | async)"></div>  

или

registerFilter : any;

service.getFilter().Subscribe((value) => this.registerFilter = value);

<div *ngIf="registerFilter"></div>  

Предложение

В качестве примечания это будет более чистая реализация вашего сервиса.

export class FilterRegister {
  registerFilter$ : Observable<any> = this.registerFilter.asObservable();
  registerFilterParameters$ : Observable<any> = this.registerFilterParameters.asObservable();
  private registerFilter: Subject<any> = new Subject();
  private registerFilterParameters: Subject<any> = new Subject();

  foo() {
    this.registerFilter.next('value');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...