子组件在父组件之前执行方法-Angular 7

时间:2018-12-23 12:35:40

标签: angular typescript

我有DataStorageServiceService服务,我有getCategory方法,该方法从服务器调用日期,而我有另一个服务器,我有方法getCategoryFromServer,该方法执行getCategory方法并存储Array上的数据。我在ProductsComponent中有组件constructor在执行getCategoryFromServer并与Array一起工作。我ProductsComponent有两个组成部分ProductListItemsComponentSingleProductComponent。这是简单的代码示例:

这是方法getCategory

 /** GET Category from the server */
  getCategory(): Observable<CategoryModel[]> {
    return this.http.get<CategoryModel[]>(this.cateogryUrl).pipe(

      catchError(this.handleError('getProduct', []))
    )
  }

这是方法getCategoryFromServer

 getCategoryFromServer() {
    this.dataStorageServiceServiceta.getCategory().subscribe((category: CategoryModel[]) => {
      this.categoryModule = category;
      this.cateogoryChange.next(this.categoryModule.slice())
    })
  }

组件ProductsComponent

 constructor(private productsService: ProductsService) {
    this.productsService.getCategoryFromServer();
  }

一切都很好,但是当我刷新页面时,首先完成了子组件方法,然后我的getCategoryFromServer就出现了问题。 我想提到,我对子组件使用了路由,并且显示了url的依赖关系:id子组件。 这是ProductsComponent的模板:

<div class="row">
    <div class="col-xs-12">
      <router-outlet></router-outlet>
    </div>
  </div>
  <div>

0 个答案:

没有答案