如何在angular 6组件中将API响应作为@Input参数传递

如何在angular 6组件中将API响应作为@Input参数传递,angular,api,angular6,Angular,Api,Angular6,我有“新”和“历史”两部分。历史组件在“新”组件中调用,如下所示 <div class="col-lg-12"> <app-leave-history [LeaveData]="ldata" [RoleData]="permission"></app-leave- history> </div> 上面是“新”组件的内部。我需要将数据从“新”组件ts文件传递到“ldata”属性。当我使用API响应将数据传递给“ldata”时,组件不会获取

我有“新”和“历史”两部分。历史组件在“新”组件中调用,如下所示

<div class="col-lg-12">
   <app-leave-history [LeaveData]="ldata" [RoleData]="permission"></app-leave- history>
</div>


上面是“新”组件的内部。我需要将数据从“新”组件ts文件传递到“ldata”属性。当我使用API响应将数据传递给“ldata”时,组件不会获取数据。因为在API响应之前,历史组件会被加载。我是否应该在历史组件内调用API,或者是否有任何方法从我的“新”组件调用API并传递到“ldata”?

您正在执行的方法是正确的,您在新组件中进行API调用并分配响应

将响应作为输入传递给新组件。为了在收到数据后传递数据,您可以使用
*ngIf

<div class="col-lg-12">
   <app-leave-history *ngIf="ldata && permission" [LeaveData]="ldata" [RoleData]="permission"></app-leave- history>
 </div>

使用
*ngIf
等待API调用完成并初始化
ldata
。Angular将等待它,然后仅渲染
app leave history

 <div class="col-lg-12">
   <app-leave-history 
     *ngIf="ldata && permission" 
     [LeaveData]="ldata" 
     [RoleData]="permission">
   </app-leave-history>
</div>

建议:

请使用小写字母命名属性和方法


正如@SiddAjmera和@Sajeetharan建议的那样,添加了*ngIf部分,另外我在ngochanges()事件中分配了响应。现在它工作了

谢谢你的建议@siddajmera为什么删除了答案?我在下面添加了答案。