簡體   English   中英

阻止下一個組件調用,直到承諾完成角度2中的另一個組件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM