title: How can I render an Angular2 component to a string?
body: <p>I would like to be able to use the Angular2 template syntax when building a <a href="https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple" rel="noreferrer">Google Maps InfoWindow</a>. </p>
  
  <p>As far as I can tell, this means passing a a component as a template string to the <code>content</code> property in the <code>InfoWindow</code> constructor object.</p>
  
  <p>If this is the case, I believe I need to stringify the component template. Is this correct (and possible)?</p>
  
  <p>Here is an example of what I <em>think</em> I need to do:</p>
  
  <pre><code>// Component
  
  import {Component} from 'angular2/core';
  import {Thing} from './something/in/my/app/thing.model.ts';
  
  @Component({
    selector: 'my-infowindow',
    template: `&lt;p&gt;This is an infowindow for {{ something.name }}&lt;/p&gt;`
  })
  export class MyInfoWindowComponent {
      constructor(public something: Thing) {}
  }
  
  
  // Implementation
  
  import {Thing} from './something/in/my/app/thing.model.ts';
  import {MyInfoWindowComponent} from './path/to/infowindow.component';
  
  /* { ...stuff... } */
  
  private _buildInfoWindow(thing: Thing): google.maps.InfoWindow {
      return new google.maps.InfoWindow({
        /* v this is what I want v */
        content: new MyInfoWindowComponent(thing).toString() 
        /* ^ this is what I want ^ */
      });
  }
  </code></pre>