title: Ng-Show called multiple times
body: <p>I have a button with the ng-disable directive attached and a function to evaluate the button state. When the view loads, I notice that the function is called around 6-8 times. Is this normal? It's not only on load but any interaction with the view : </p>
  
  <pre><code>&lt;button type="button" class="listBtn btn btn-xs btn-block btn-danger" ng-click="Site.deleteSite()" ng-show="Site.canDelete()"&gt;&lt;i class="fa fa-times fa-fw"&gt;&lt;/i&gt; Delete Site&lt;/button&gt;
  </code></pre>
  
  <p>Then the controller has this function:</p>
  
  <pre><code>canDelete: function () {
      console.log(Site.selected);
  
      //CHECK IF SITE SELECTED
      if (Site.selected) {
          console.log('Site has been selected');
          console.log(Site.selected.children.length);
          //CHECK IF SELECTED HAS CHILDREN
          if (Site.selected.children.length) {
              console.log('Site has children');
              //SELECTED HAS CHILDREN - DISABLE BUTTON
              return true;
          } else {
              //SELECTED HAS NO CHILDREN - ENABLE BUTTON
              console.log('Site has no children');
              return false;
          }
      } else {
          //NO SITE SELECTED - DISABLE BUTTON 
          console.log('No site selected');
          return true;
      }
  }
  </code></pre>
  
  <p>Also, if anyone has any recommendations for improving this or the IF statement that would be useful. Thank you. </p>