如何在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为什么删除了答案?我在下面添加了答案。