角度 - 将参数传递给子组件 - 良好实践

时间:2017-10-24 09:47:40

标签: angular

我想知道最好的(干净的)方法是将参数传递给子组件并调用一些方法。 在我的项目中,我通过几种方式实现这一目标。

假设我们alert.component采用show方法。在履行承诺的情况下,我们希望将其称为(app.component)。

1。我在alert模板中创建了app.component选择器。在app.component.ts我创建@ViewChild alert并致电alert.show(params)。最后,我在模板中创建ngIf以在适当的时间显示提醒。

app.component.ts

@ViewChild(AlertComponent)
private alertComponent: AlertComponent;

[...]

alertComponent.show(params);

app.component.html

<alert *ngIf(condition)></alert>

2。我在alert模板中创建了app.component选择器,并在那里传递了一些参数:alert([params]="params")。我不会在@ViewChild中创建任何app.component.ts,而在@Input()中创建alert.component.ts。在show

中调用ngOnChanges()方法

alert.component.ts

@Input() params: any;
@Input() condition: boolean;

[...]

OnChanges() {
 if (condition)
  this.show(params);
}

app.component.html

<alert [condition]="condition", [params]="params"></alert>

您会选择哪种方式?

0 个答案:

没有答案