输入属性更改Angular 6后,ChildComponent不更改

时间:2018-08-16 02:36:20

标签: parent-child angular6

我正在将一个数组从父级传递给子级。

我的父组件看起来像这样

    ...
   <app-content-order-detail-grid [stocks]="stocks" [styleSet]="600"></app- 
   content-order-detail-grid>
   ....

以下是我的孩子部分:

 .....
 export class ContentOrderDetailGridComponent implements  OnInit {
 @Input() stocks: Stock[];
 @Input() styleSet = '';
 .......

父组件中的我的库存属性一经更改,子代便不会反映任何更改。我已经在其他页面中实现了它,但它可以工作,但似乎不适用于该特定组件。尝试了各种方法,即使ngOnChanges都不反映任何更改。稍后在父级中的某些计算事件中正在修改的数据是否有问题

1 个答案:

答案 0 :(得分:0)

一定是您做错了什么。请检查以下情况。

  1. 检查是否要在子组件中初始化库存输入属性 在构造函数或任何生命周期方法中。
  2. 使用 ngOnChanges 生命周期方法检查库存输入属性。在更新父级属性时检查它是否正在更改值。
  3. 确保您将同一个父级 stocks 属性绑定并更新到子级 stocks 属性。

即使这行不通,也提供一些有关如何更新父级 stocks 属性的代码。