如何在promise中从角度4的子组件中调用父组件中的方法?

时间:2018-07-12 16:07:53

标签: angular typescript

我试图使用.emit();从第4个角度的子组件中调用父组件中的方法。

app.component.html

test

父组件html:

<parent-component (loadMoreData)="loadData()"></parent-component>

父Component.ts

<div>
  <child-component [dataList]="dataList"></child-component>
</div> 

子component.ts

public dataList : Array<any>;

constructor() {
    this.loadData();
  }

  ngOnInit() {

  }

  loadData(){
    //const options = this.getOptions();
    this.appServices.getDataList().subscribe((response) => {
      const respJson = response;
      this.dataList = respJson;
      console.log(this.assayDataList);
    });
  }

我收到如下错误:

@Output() loadMoreData : EventEmitter<boolean>;

public getRowData():Promise<any[]>{
    var self = this;
    return new Promise((resolve)=>{
      self.loadMoreData.emit(true);
      resolve(this.assayTableData);
    })
  }

我在做什么错?

1 个答案:

答案 0 :(得分:1)

在子组件中,您应该初始化EventEmitter。

@Output() loadMoreData : EventEmitter<boolean> = new EventEmitter<boolean>(false);