를 사용하여 표시하지 난 내 응용 프로그램의 글로벌 회 전자를 수용 할 수있는 다음과 같은 서비스가 : 방금 내 주요 응용 프로그램 구성 요소에서 내 router-outlet
위 다음 다음스피너 BehaviorSubject 및 비동기
@Injectable()
export class SpinnerService {
private visible = new BehaviorSubject <boolean> (true);
showSpinner() {
this.visible.next(true);
}
hideSpinner() {
this.visible.next(false);
}
getSpinnerVisibility(): Observable <boolean> {
return this.visible.asObservable();
}
}
을 :
<app-spinner *ngIf="spinnerService.getSpinnerVisibility() | async"></app-spinner>
그러나은 실제로 표시하지 않습니다. 왜 어떤 생각? providers
배열의 SpinnerService
을 AppModule
이라고 선언했습니다.
<div class="backdrop"><div class="spinner"></div></div>
그것에 다른 절대적으로 아무것도 없습니다 :
다음은 회 전자 구성 요소입니다! 위의 *ngIf
문을 제거하면 올바르게 표시되므로 CSS에 문제가 없음을 의미합니다.
'app-spinner' 구성 요소는 어떻게 생겼습니까? – echonax
어떤 유형의 'Subject' 나'ngIf' 조건에서'async' 파이프를 사용하지 않았 더라면 개념이 작동하는 것으로 의심 될 것입니다. 적어도 개념의 일부를 확인하기 위해 기본 부울 속성에 대한 가입을 연결하려고 시도 했습니까? 아마도 여기에 귀하의 핵심 목적은 "로딩"스피너입니까? –
예, 개념은 단순히 로더입니다. 좋아, 내가 부울로 기본적인 가입/탈퇴를 시도하고 보자. – Sammy