Ok, try this but I'm not sure if I fully understand what your trying to do
<div ng-controller="appCtrl">
<ul>
<li ng-repeat="item in items" ng-style="{'background-color': item.color}">
<span ng-style="{ 'color': (item.color | contrastColor) }">{{ item.label }}</span>
</li>
</ul>
</div>
Edited the html, couldn't test this on IE last night so had to wait until today. IE seemingly doesn't like the style attribute with {{ }} binding inside so it deletes it from the DOM. I found this issue https://github.com/angular/angular.js/issues/2186 and there is a plunkr with the fix given.