Просто хочу поделиться тем, что я использовал до сих пор, чтобы сэкономить ваше время.
Вот примеры жестко закодированных заголовков и динамических заголовков (в случае, если они не заботятся о структуре данных). В обоих случаях я написал несколько простых директив: customSort
customSort
.directive("customSort", function() {
return {
restrict: 'A',
transclude: true,
scope: {
order: '=',
sort: '='
},
template :
' '+
' '+
' '+
'',
link: function(scope) {
// change sorting order
scope.sort_by = function(newSortingOrder) {
var sort = scope.sort;
if (sort.sortingOrder == newSortingOrder){
sort.reverse = !sort.reverse;
}
sort.sortingOrder = newSortingOrder;
};
scope.selectedCls = function(column) {
if(column == scope.sort.sortingOrder){
return ('icon-chevron-' + ((scope.sort.reverse) ? 'down' : 'up'));
}
else{
return'icon-sort'
}
};
}// end link
}
});
Я использовал одиночный ng-repeat
Это хороший пример в Fiddle ( Обратите внимание: библиотека jQuery отсутствует )
[/g8]
{{item.id}}
{{item.name}}
{{item.description}}
{{item.field3}}
{{item.field4}}
{{item.field5}}
Демонстрация 2: Fiddle
HTML
{{ header.name }}
pagedItems.length: {{pagedItems.length|json}}
currentPage: {{currentPage|json}}
currentPage: {{sort|json}}
В качестве примечания стороны:
ng-bind-html-unsafe
устарел, поэтому я использовал его только для демонстрации (2-й пример). Вы можете редактировать.