<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong><br>
When an <code class="notranslate">async</code> pipe is present on a component, all component's <code class="notranslate">@Input</code> are triggered whenever the async value is updated.<br>
This is especially annoying in the case of <code class="notranslate">@Input</code> bounds to setters <code class="notranslate">@Input() set foo(v){ }</code>.<br>
Not sure how this is useful, but I observed the following:<br>
It seems that the <code class="notranslate">async</code> pipe calls <code class="notranslate">unwrapValue</code> which increments <code class="notranslate">unwrapCounter</code>, forcing <code class="notranslate">checkBinding</code> to return true the first time it's called, causing <code class="notranslate">updateProp</code> to be called.</p>
<p dir="auto"><strong>Expected behavior</strong><br>
Only the <code class="notranslate">@Input</code> bound to the <code class="notranslate">async</code> pipe should be updated. (At least it was the case with v2)</p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong><br>
<a href="http://embed.plnkr.co/MDvG3iKe4klFCAayIYh5/" rel="nofollow">http://embed.plnkr.co/MDvG3iKe4klFCAayIYh5/</a></p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
macOS Sierra 10.12.3</p>
<ul dir="auto">
<li>
<p dir="auto"><strong>Angular version:</strong><br>
4.0.0-rc.3</p>
</li>
<li>
<p dir="auto"><strong>Browser:</strong><br>
Firefox 47.0.1</p>
</li>
<li>
<p dir="auto"><strong>Language:</strong><br>
Typescript</p>
</li>
</ul>
<p dir="auto">so I added the ref as indicated in change log.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="///&lt;reference path=&quot;node_modules/angular2/typings/browser.d.ts&quot;/&gt;"><pre class="notranslate"><code class="notranslate">///&lt;reference path="node_modules/angular2/typings/browser.d.ts"/&gt;
</code></pre></div>
<p dir="auto">and yet in latest .6 I get a bunch of missing types now.<br>
am I missing something? or feature broken?</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/5090936/12999797/df3bc488-d107-11e5-942e-6c72def49f30.PNG"><img src="https://cloud.githubusercontent.com/assets/5090936/12999797/df3bc488-d107-11e5-942e-6c72def49f30.PNG" alt="err" style="max-width: 100%;"></a></p>
<p dir="auto">regards</p>
<p dir="auto">Sean</p>