title: Why/when would ng-content b a good practice?
body: <p>Maybe a strange question regarding ng-content / Content projection. I get the idea that you can dynamically put in 'content' which can in turn be projected by using ng-content. One thing I could also do to achieve this is to make an Input property to pass in the information I want to show in the component. </p>
  
  <p>I've come across this project; <a href="https://trimox.github.io/angular-mdc-web/#/home" rel="nofollow noreferrer">https://trimox.github.io/angular-mdc-web/#/home</a>
  which is the new material components for Angular. One thing I found out while browsing through the code is that he makes extreme use of ng-content to project some 'sub-components'. I cant help but wonder... why?? Because I can also try and solve this using one card component and a JSON/object like configuration which I pass on.</p>
  
  <pre><code>&lt;mdc-card class="demo-card"&gt;
  &lt;mdc-card-primary-action mdc-ripple&gt;
      &lt;mdc-card-media class="demo-card__media--16-9" [wide]="true"&gt;&lt;/mdc-card-media&gt;
      &lt;div class="demo-card__primary"&gt;
          &lt;h2 class="demo-card__title" mdcHeadline6&gt;Our Changing Planet&lt;/h2&gt;
          &lt;h3 class="demo-card__subtitle" mdcSubtitle2&gt;by Kurt Wagner&lt;/h3&gt;
      &lt;/div&gt;
      &lt;div class="demo-card__secondary" mdcBody2&gt;
          Visit ten places on our planet that are undergoing the biggest changes today.
      &lt;/div&gt;
  &lt;/mdc-card-primary-action&gt;
  &lt;mdc-card-actions&gt;
      &lt;mdc-card-action-buttons&gt;
          &lt;button mdc-button mdcCardAction="button"&gt;Read&lt;/button&gt;
          &lt;button mdc-button mdcCardAction="button"&gt;Bookmark&lt;/button&gt;
      &lt;/mdc-card-action-buttons&gt;
      &lt;mdc-card-action-icons&gt;
          &lt;button mdcIconButton mdcCardAction="icon" iconOn="favorite" iconOff="favorite_border"&gt;&lt;/button&gt;
          &lt;mdc-icon mdcCardAction="icon" mdcRipple&gt;share&lt;/mdc-icon&gt;
          &lt;mdc-icon mdcCardAction="icon" mdcRipple&gt;more_vert&lt;/mdc-icon&gt;
      &lt;/mdc-card-action-icons&gt;
  &lt;/mdc-card-actions&gt;
  </code></pre>
  
  <p></p>
  
  <p>Above you can see for example a 'card' component with several items in it. I've also found the source for these components; <a href="https://github.com/trimox/angular-mdc-web/blob/master/packages/card/card.ts" rel="nofollow noreferrer">https://github.com/trimox/angular-mdc-web/blob/master/packages/card/card.ts</a>.</p>
  
  <p>My original question remains; when is it a good practice to use ng-content and when it's not. and why is it a good practice? I;ve also see DevExpress use it in their devextreme library; <a href="https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/RecordGrouping/Angular/Light/" rel="nofollow noreferrer">https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/RecordGrouping/Angular/Light/</a></p>
  
  <p>Thanks</p>