在组件之间传递数据

时间:2018-04-17 19:31:27

标签: angular

我在组件之间传递数据时遇到了问题。 我有一个副驾驶和儿童组件。我使用via @Input传递数据。

@Component({
  selector: 'parent'
})
export class Parent implements OnInit {
  obj: any;
  ngOnInit() {
    this.dataService.getJson('this.apiUrl').subsribe(res=> this.obj = res);
  }
}

@Component({
  selector: 'child'
})
export class Child implements OnInit {
  @Input passedObj: any;
  obj: any;

  ngOnInit() {
    this.obj=this.passedObj;
  }
}

而不是我以这种方式传递数据:

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

问题是,数据来得太晚了。子组件的视图更快地呈现。 如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

有许多方法可以在角度分量之间传递数据。您可以在here中找到有关该文章的中型文章。它还包含示例代码。

答案 1 :(得分:0)

尝试一下 为obj分配一些默认值,例如nullundefined或当值为child的obj将在dom中呈现时使用其他默认值。

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