title: ng-class is called too many times
body: <p>I am quite new to AngularJS and I'm developing a full featured audio player à la Google Music. I have a Player service that deals with all the playing, queueing, etc. I have an infinite scrolling table with all the tasks, and I need to apply a certain class on that track that is now playing.</p>
  
  <p>The first angular way I can think of doing this would be using something like the following:</p>
  
  <pre><code>ng-class="{ playing: player.getCurrent()._id == song._id}"
  </code></pre>
  
  <p>on every single row. If the id of the song matches the one the player is well, playing, then it will have a different color. The thing is that since there are that many rows in the table, the expression would need to be evaluated on every single case. On jQuery this would be as simple as:</p>
  
  <pre><code>$('td[data-songid="'+playingId+'"]).addClass("playing").siblings(".playing").removeClass("playing");
  </code></pre>
  
  <p>What would be the angular, effecive way of doing this?</p>