Каким образом вывести данные в нескольких столбцах?
Просто разместить их в трех столбцах нельзя?<div ng-controller="demo">
 <table>
   <tr ng-repeat="phone in phones">
    <td>{{phone.id}}</td>
    <td>{{phone.cat}}</td>
    <td>{{phone.name}}</td>
   </tr>
 </table>
</div>var app = angular.module('app', [])
   .controller('demo', function($scope){
      $scope.phones = [{id: 1, cat: 'Nokia', name: 'N90'}];
    });
   angular.bootstrap(document, ['app']);
jsfiddle.net/zhak55/s2pjzr3b
Есть допустим 100 разных названий товара, нужно вывести их в 3 столбца.
а зачем тут таблица? Да и в вашем примере таблицы как бы и нет... Это можно сделать через css<div class="col-md-12 product-list" ng-repeat="phone in phones">
   <div class="product">{{phone.name}}</div>
</div>.product-list {
    column-count: 3;
}
Для IE9 есть полифил (ну и для хрома он тоже нужен, так как column-gap не поддерживается).
Если все же хочется именно средствами ангуляра - то по хорошему следует сделать директиву, которая будет резать коллекцию на три части и выводить. Но это сложно, если делать именно по феншую. А можно фигнуть фильтром, это не очень хорошо зато влоб.