title: Angular 2/4 managing form CRUD with parent/child components
body: <ul>
  <li><p>I have a parent and a child component in which the parent is a list of repeating children using *ngFor.</p></li>
  <li><p>each child takes in an object through the @Input feature of angular and the child template is a form which is bound using angular 2 way binding letting you edit the objects properties.</p></li>
  <li><p>The parent is not necessarily a generic container/list for the child components and is not re-used for other lists.</p></li>
  <li><p>The parent uses an injected service to retrieve the list of data being used.</p></li>
  </ul>
  
  <p>my question is, <strong>who should call the update function when the form is being saved?</strong> should the child have the service injected and it call the update function on the service? should it be passed to the parent to be updated? Should the child have read it to begin with?</p>
  
  <p>I understand this could provoke opinionated answers so I am looking for an answer that would agree with what the Angular team intended for best practices and also match this criteria:</p>
  
  <ul>
  <li>even distribution between readability, performance and design. </li>
  <li>well rounded and related to commonly used software design patterns.</li>
  </ul>
  
  <p>If any extra information is necessary please let me know, thanks!!</p>