title: Function called indefinitely on property binding
body: <p>I discovered very strange problem in my Angular application.</p>
  
  <p>Let's say I have a simple <code>example.component.ts</code></p>
  
  <pre><code>@Component({
      moduleId: module.id.toString(),
      selector: 'example',
      templateUrl: 'example.component.html',
      styles: [``]
  })
  export class ExampleComponent{
      get buttonShouldBeDisabled(){
          console.log("property call");
          return true;
      }
  }
  </code></pre>
  
  <p>with template defined as follows</p>
  
  <pre><code>&lt;html&gt;
      &lt;body&gt;
          &lt;button type="button" [disabled]="buttonShouldBeDisabled"&gt;Button&lt;/button&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Now in my browsers console I can see, that string "property call" is being logged indefinitely.
  <a href="https://i.stack.imgur.com/GlA8u.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GlA8u.png" alt="Indefinite property call"></a></p>
  
  <p>What could possibly cause such behaviour? Do I understand correctly, that this means, that my property is being called over and over again and it can lead to browser not responding to user actions?</p>