[英]block next component call until promise complete of another component in angular 2
我為此做了很多搜索,但是不幸的是我什么都沒得到。
上下文
我有一個組件,其中有兩個子選擇器,如下所示。
<div class="wrapper"> <div class="main-panel"> <navbar-cmp></navbar-cmp> <router-outlet></router-outlet> <!--<div *ngIf="!isMap()"> <app-footer></app-footer> </div>--> </div> <div class="sidebar" data-active-color="blue" data-background-color="white"> <!-- <div class="sidebar" data-color="red" data-image=""> --> <sidebar-cmp></sidebar-cmp> <!--<div class="sidebar-background" style="background-image: url(assets/img/sidebar-1.jpg)"></div>--> </div> </div>
因此,根據該nav-bar組件將被調用,並且nav-bar包含一個需要花費一些時間的承諾。 但是,在完成導航欄組件中的promise之前,我先轉到側欄組件。 但是我希望該控件不應該移到側欄組件,直到它清除了導航欄組件中的承諾。
嘗試這個 :
@Component({
selector: 'navbar-cmp',
templateUrl: './navbar-cmp.html',
})
export class NavBarComponent implements OnInit {
promiseIsCompleted :boolean = false;
constructor(private signUpService: SignUpService) {
}
ngOnInit() {
youPromise.then(()=>{
this.promiseIsCompleted = true;
})
}
html:
<div class="wrapper">
<div class="main-panel">
<navbar-cmp #navbar ></navbar-cmp>
<router-outlet></router-outlet>
<!--<div *ngIf="!isMap()">
<app-footer></app-footer>
</div>-->
</div>
<div class="sidebar" data-active-color="blue" data-background-color="white">
<!-- <div class="sidebar" data-color="red" data-image=""> -->
<sidebar-cmp *ngIf="navbar.promiseIsCompleted"></sidebar-cmp>
<!--<div class="sidebar-background" style="background-image: url(assets/img/sidebar-1.jpg)"></div>-->
</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.