title: Angular 2 - How to trigger a method on a child from the parent
body: <p>It's possible to send data from the parent to a child through @Input, or to call a method on the parent from the child with @Output, but I'd like to do exactly the other way around, which is calling a method on the child from the parent. Basically something like that:</p>
  
  <pre class="lang-js prettyprint-override"><code>@Component({
    selector: 'parent',
    directives: [Child],
    template: `
  &lt;child
    [fn]="parentFn"
  &gt;&lt;/child&gt;
  `
  })
  class Parent {
    constructor() {
      this.parentFn()
    }
    parentFn() {
      console.log('Parent triggering')
    }
  }
  </code></pre>
  
  <p>and the child:</p>
  
  <pre class="lang-js prettyprint-override"><code>@Component({
    selector: 'child',
    template: `...`
  })
  class Child {
    @Input()
    fn() {
      console.log('triggered from the parent')
    }
  
    constructor() {}
  }
  </code></pre>
  
  <p>Background is a kind of "get" request, i.e. for getting an up-to-date status from the child.</p>
  
  <p>Now I know I could achieve that with a service and Subject/Observable, but I was wondering whether there is not something more straightforward?</p>