아래 코드에서 관찰 할 수있는 것처럼 구독하고 콜백에서 상태를 result
으로 설정합니다. 이것은 뷰의 * ngIf에서 사용됩니다. 사실은 true가 반환되는 경우에도 뷰가 업데이트되지 않습니다.내보기가 업데이트되지 않는 이유는 무엇입니까?
export class AppComponent {
private status;
constructor (private proxyService: ProxyService) {
}
ngOnInit(){
//setInterval(()=>console.log(this.isInjected),1000);
this.proxyService.someObservable.subscribe((result)=>{
this.status = result;
console.log(result);
});
}
}
이제 주석 처리 된 행을 볼 수 있습니다. 디버깅하는 동안 나는 그것을 추가했고, 기이 한 일은 뷰 업데이트를 만드는 것이다. 어떤 아이디어? 참고로
, 즉 내보기입니다 :
<div *ngIf="status">
<app-userlane-inject></app-userlane-inject>
</div>
<div *ngIf="!status">
<span>Status is false.</span>
</div>
{{status}}
하위 구성 요소가 렌더링되지 않습니다 및 문자열 보간은 거짓 남아있는 경우에도 콘솔 로그 (간격이있는 경우, 다음 작동 제외) 사실. 여기
서비스가 넓은 의미에서하는 것입니다 : 관찰 가능한을 표시
var mySubject= new BehaviorSubject(false);
@Injectable()
export class ProxyService {
public someObservable= mySubject.asObservable();
//Kinda deep callback tree, then finally
mySubject.next(true)
}
'var me = this;'는 필요하지 않습니다. 그냥'this.status = result; '를 사용하십시오. –
'ProxyService' 란 무엇입니까? 몇 가지 코드를 공유 할 수 있습니까? –
console.log (결과)의 출력은 무엇입니까? –