Angular 在组件之间传递数据

Angular 在组件之间传递数据,angular,Angular,我在组件之间传递数据时遇到问题。 我有一个助手和子组件。我通过@Input传递数据 @组件({ 选择器:“父级” }) 导出类父级实现OnInit{ obj:任何; 恩戈尼尼特(){ this.dataService.getJson('this.apiUrl').subscribe(res=>this.obj=res); } } @组成部分({ 选择器:“孩子” }) 导出类子级实现OnInit{ @输入passedObj:任意; obj:任何; 恩戈尼尼特(){ this.obj=this.p

我在组件之间传递数据时遇到问题。 我有一个助手和子组件。我通过@Input传递数据

@组件({
选择器:“父级”
})
导出类父级实现OnInit{
obj:任何;
恩戈尼尼特(){
this.dataService.getJson('this.apiUrl').subscribe(res=>this.obj=res);
}
}
@组成部分({
选择器:“孩子”
})
导出类子级实现OnInit{
@输入passedObj:任意;
obj:任何;
恩戈尼尼特(){
this.obj=this.passedObj;
}
}
然后我以这种方式传递数据:


问题是,数据来得太晚了。子组件的视图渲染速度更快。
如何解决这个问题?

在角度组件之间传递数据有很多方法。你可以在我的一篇媒体文章中找到这方面的案例。它还包含示例代码

试试这个 将一些默认值分配给对象,如
null
undefined
或当具有值
子对象的对象将在dom中呈现时的其他值

<child [passedObj]="obj" *ngIf="obj"></child>


你为什么要这样做
this.obj=this.passedObj
而不是只使用
this.passedObj
?将
@Input
替换为
@Input()
。在
ngAfterViewInit()
@user184994中尝试一下谢谢你,我甚至不知道我可以直接使用Input。