title: Angular async pipe to Input property in child component not being set
body: <p>It seems like the child component only gets set the first time the Observable emits.</p>
  
  <p>Container component (map operator added for debugging):</p>
  
  <pre><code>this.form$ = this.createOrderStore.pipe(select(getFormGroup)).pipe(
    tap((val) =&gt; {
      console.log('observable emitted');
      console.log(val);
      return val;
    })
  );
  </code></pre>
  
  <p>Child component:</p>
  
  <pre><code>private _form: FormGroup;
  @Input()
  set form(val) {
    console.log('set form');
    if (val) {
      this._form = val;
    }
  }
  get form() {
    return this._form;
  }
  </code></pre>
  
  <p>Container template:</p>
  
  <pre><code>&lt;app-order-form [form]="form$ | async"&gt;&lt;/app-order-form&gt;
  </code></pre>
  
  <p>The first time the observable emits, console shows 'observable emitted', val is undefined, then 'set form'.  However, since this first value is undefined, we don't set it in the template yet.</p>
  
  <p>The second time the observable emits, console logs 'observable emitted', val is a complete form group (so it should trigger change detection), but 'set form' is not logged.  This second value is the one I actually need to set in the template.</p>
  
  <p>Is there a reason why the child component property is only set the first time the observable emits?</p>