I would recommend bindonce for this, if you're at <1.3, just add bindonce next to your ng-repeat and change the ng-* directives to bo-* in the repeating part. This basically does the same thing as 1.3 one-time bindings.
If on your question you would like to use $interpolate instead of a single binding in 1.3, I would say go with ng-repeat with a single binding, as there are no watchers to slow you down, and it is more readable. Although ng-repeat still creates child areas, the performance difference is not significant if you do nothing in these areas.
From experience, you will encounter performance issues in your browser when rendering many elements before $digest becomes a problem if you don't check the watchers, even with a lot of child areas.
source share