我所有的指令都使用相同的范围,我希望我的指令能够自己操作。
指示:
app.directive('headerSort', function () {
return {
restrict: 'A',
controller: function ($scope, $element, $attrs) {
$scope.caption = $attrs.caption;
$scope.doSort = function () {
$scope.orderField = $attrs.headerSort;
$scope.reverse = !$scope.reverse;
};
},
template: '<div data-ng-click="doSort();">' +
'{{caption}}' +
'<i class="icon-sort"></i>' +
'</div>'
};
});
html:
<th data-header-Sort="FullName" data-caption="Full name"></th>
<th data-header-Sort="FirsName" data-caption="First name"></th>
<th data-header-Sort="Age" data-caption="Age"></th>
结果是所有列都具有值“年龄”并按年龄排序。我当然希望每一列都排序它自己的列。我怎样才能做到这一点?
更新:忘记提及orderField
并reverse
用于ng-repeat | orderBy
:
<tbody id="customerRows" data-ng-repeat="customer in customers | orderBy:orderField:reverse">