可以使用新数据返回相同的组件吗?

时间:2017-07-30 23:05:40

标签: angular

我有一个组件例如

export class DataTableComponent implements OnInit {
Input() bar : string;
...
template: '<div> {{bar}}' 
}

是否可以使用新数据从此处为此组件充电?

像这样的东西

recallComponents(DataTableComponent, "foo_1");
recallComponents(DataTableComponent, "foo_2");

1 个答案:

答案 0 :(得分:1)

您应该考虑为将要更改的数据实施observable

  

Observable开辟了一个连续的通信渠道,其中可以随时间发出多个数据值。由此我们得到一种处理数据的模式,通过使用类似数组的操作来解析,修改和维护数据。   https://angular-2-training-book.rangle.io/handout/observables/

例如:

let subscription = this.data.subscribe(
    value => this.values.push(value), // on change
    error => this.anyErrors = true, // on error
    () => this.finished = true // on complete
);

这是一个有效的plunkr,展示了如何在项目中使用它们的示例..

另请注意:

  

[a]路由器在导航到同一组件时可能无法重新创建组件。在这种情况下,参数可能会更改,而不会重新创建组件。 https://angular-2-training-book.rangle.io/handout/routing/routeparams.html