How to pass @Input() params to an angular 2 component created with DynamicComponentLoader
<p>The DynamicContentLoader docs don't explain how I can properly load a child component's inputs. Let's say I have a child like:</p>

<pre><code>@Component({
  selector: 'child-component',
  template: '&lt;input type="text" [(ngModel)]="thing.Name" /&gt;'
})
class ChildComponent {
  @Input() thing : any;
}
</code></pre>

<p>and a parent like:</p>

<pre><code>@Component({
  selector: 'my-app',
  template: 'Parent (&lt;div #child&gt;&lt;/div&gt;)'
})
class MyApp {
  thing : any;
  constructor(dcl: DynamicComponentLoader, elementRef: ElementRef) {
    dcl.loadIntoLocation(ChildComponent, elementRef, 'child');
  }
}
</code></pre>

<p>How should I go about passing <code>thing</code> into the child component such that the two components can be data bound against the same thing. </p>

<p>I tried to do this:</p>

<pre><code>@Component({
  selector: 'my-app',
  template: 'Parent (&lt;div #child&gt;&lt;/div&gt;)'
})
class MyApp {
  thing : any;
  constructor(dcl: DynamicComponentLoader, elementRef: ElementRef) {
    dcl.loadIntoLocation(ChildComponent, elementRef, 'child').then(ref =&gt; {
        ref.instance.thing = this.thing;
    });
  }
}
</code></pre>

<p>It sort of works, but they are not synchronised as you would expect. </p>

<p>Basically I am trying to achieve the same thing that would have been achieved by using ng-include in angular 1 where the child is a dynamically determined component and shares the model with its parent. </p>

<p>Thanks in advance ...</p>