Angular 2 - Get the value of changed FormControl in Observable
<p>I have a simple Form built with <code>FormBuilder</code>:</p>

<pre><code>this.contactForm = formBuilder.group({
  'name': [''],
  'email': [''],
  'phone': [''],
});
</code></pre>

<p>I want to watch every control for changes, and run a function with the updated value when this happens:</p>

<pre><code>getContacts(value: any) {
    this.phoneContacts.findContact(value).then(
        contacts =&gt; {
            // do something
        }
    );
}
</code></pre>

<p>Right now, I'm doing this for every control, using <code>bind</code> to have access to the <code>this</code> object of the component:</p>

<pre><code>this.contactForm.get('name').valueChanges.subscribe(this.getContacts.bind(this));
this.contactForm.get('email').valueChanges.subscribe(this.getContacts.bind(this));
this.contactForm.get('phone').valueChanges.subscribe(this.getContacts.bind(this));
</code></pre>

<p>Is there any way to watch for changes and have the updated value with just one subscription? I know I can subscribe directly to <code>this.contact.form</code>, but then instead of just the updated control I get all controls as the value.</p>