title: AgGrid RowData updated outside Angular component, needs rows to be redrawn
body: <p>I am using <code>ag-grid-angular</code> in my Angular project.  My <code>app</code> component hold my main data model (<code>rowData</code>), and two sub components <code>grid</code> and <code>grid-details</code>.  The <code>grid</code> component has an <code>@Input</code> to bind to <code>rowData</code>, and holds the <code>ag-grid-angular</code> component which <code>rowData</code> is also bound to.  The <code>grid-detail</code> component also has an <code>@Input</code> to bind to the model and has a form in which <code>rowData</code> can be changed.</p>
  
  <p>I have abstracted the application in a <a href="https://stackblitz.com/edit/angular-schnpx" rel="nofollow noreferrer">StackBlitz</a> </p>
  
  <p>When I change data in <code>ag-grid-angular</code> I can see the change in <code>rowData</code> in <code>app</code> and <code>grid-details</code>, implying correctly bound properties across the components.  When I change <code>rowData</code> in <code>grid-details</code>, I can see the change in <code>app</code> but the data presentation in <code>ag-grid-angular</code> is not updated.  When call on <code>gridApi</code> to redraw the rows, the data is correctly presented (implying that the data was also correctly bound as I didn't need to set the row data again in gridApi).</p>
  
  <ol>
  <li>If all data is correctly bound, why does <code>ag-grid-angular</code> not refresh automatically?</li>
  <li>What is an easy pattern to call <code>gridApi.redrawRows()</code>? I have multiple components in my actual implementation and would like some kind of catch all <code>onChange</code> rather than implement some <code>@Output</code> event emitter for each subcomponent.</li>
  </ol>
  
  <p>What I have tried: I tried to implement a call to <code>gridApi.redrawRows()</code> via Angular's <code>OnChanges</code>, but I realise that <code>OnChanges</code> lifecycle hook is not called on value changes within the instance of <code>rowData</code>.  So in my situation <code>OnChanges</code> does not get called when I change data in <code>grid-details</code>.</p>