我在父组件中具有以下模板:
<my-table (loaded)="onTableLoaded()" [objId]="objId"></my-table>
我遇到的问题是,加载子组件时objId为null。 我可以在孩子中添加api调用,但我想避免这样做。任何想法如何允许 可以将父级中api调用中的值转移给子级?
答案 0 :(得分:0)
如果要在角度组件之间传递数据,应使用@ Angular / core库中的输入和输出属性。为了传递数据,您应该使用@Input(),然后输入所需属性的名称。例如在子组件中的ts中,您可以编写:
@Input() dataEntry:boolean;
,并且在主机组件中,当数据在主机组件中时,将此输入用作子组件的属性:
在主机组件HTML中,您可以编写:
<child [dataEntry]="....."></child>
但是有关更多信息,您可以在此处阅读文档:
答案 1 :(得分:0)
通常代码应该足够
<my-table [objId]="objId"></my-table>
因此问题必须在另一侧。 首先,您应该正确命名
<my-table [childObjectId]="parentObjectId"></my-table>
类似的东西,选择您认为是好的名字。
然后您应该可以使用它。 如果使用objectId异步,则需要在生命周期钩子中检查/处理它。这里是可用的生命周期挂钩:Angular - Lifecycle Hooks。
如果这样做没有帮助,请确保要插入的值不为空,或者可以在此处发布组件。