At some point or another you'll have had a list or table that has been created programatically and requires alternate row/item styling. Prior to CSS3's
nth-child() the only way to do this was to create separate classes for the alternate rows. Even when we did get
nth-child(), not many of us had the luxury of being able to use this as we were still constrained by older browsers (IE I'm looking at you) and so couldn't use it anyway. I remember many a time creating a C# variable called
cssClass that would be assigned to every other row based on a modulus calculation of the dataset's row's index that I may or may not have had to create another variable for. Thankfully AngularJs has now removed this pain from our development by creating this pair of directives for use within ngRepeats.