Javascript Sort Table header指令无法获取范围属性
我使用angular指令对表格标题进行排序。但是html似乎无法到达我的独立指令范围内的变量,我也看不出我做错了什么。所以我希望你们中的一个能帮助我 myApp.jsJavascript Sort Table header指令无法获取范围属性,javascript,html,angularjs,angularjs-directive,tableheader,Javascript,Html,Angularjs,Angularjs Directive,Tableheader,我使用angular指令对表格标题进行排序。但是html似乎无法到达我的独立指令范围内的变量,我也看不出我做错了什么。所以我希望你们中的一个能帮助我 myApp.js var koekoek = angular.module('koekoek', [ 'ui.bootstrap', 'ngRoute', 'sortTableHead']); sortTableHead.js(固定表头指令) })) 订单已硬编码,仅供参考。您可以发布控制器代码吗?或者更好,制作一个plunker来显示问题?他,
var koekoek = angular.module('koekoek', [ 'ui.bootstrap', 'ngRoute', 'sortTableHead']);
sortTableHead.js(固定表头指令)
}))
订单已硬编码,仅供参考。您可以发布控制器代码吗?或者更好,制作一个plunker来显示问题?他,我认为这与我的数组有关,因为当我虚拟数据时,它在plunker中工作:我将在我的原始帖子中发布我的控制器代码!
(function(ng) {
'use strict';
var module = ng.module('sortTableHead', []);
module.directive('sortTableHead', [
function() {
return {
restrict: 'A',
transclude: true,
replace: true,
template: '<th class="selectable" data-ng-click="onClick()" >' +
'<span ng-transclude class="pull-left"></span>' +
'<i class="fa fa-sort pull-right" data-ng-class="{\'fa-sort-desc\' : order === by && !reverse, \'fa-sort-asc\' : order === by && reverse, \'fa-sort\': !order === by}"></i>' +
'</th>',
scope: {
order: '=',
by: '=',
reverse: '='
},
link: function(scope) {
scope.onClick = function() {
if (scope.order === scope.by) {
scope.reverse = !scope.reverse;
} else {
scope.by = scope.order;
scope.reverse = false;
}
}
}
}
}
]);
})(angular);
<table id="dataTable" class="table table-striped table-hover">
<thead>
<tr>
<th ng-repeat="(key, value) in data[0]" repeat-done="fixedTableHeaders()" sort-table-head by="order" reverse="reverse" order="'ipv4'">
{{ key }}
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in data | orderBy:order:reverse | filter:searchText" ng-click="rowClickHandler(row)">
<td ng-repeat="(varName, value) in row">
{{ value }}
</td>
</tr>
</table>
koekoek.controller('serversOverviewController', function($scope, $http, $location) {
$scope.rowClickHandler = function(rowData) {
var selectedRowIp = rowData.ipv4;
$location.path('/overview/' + selectedRowIp);
};
$http.get('server/serverList').success(function(data) {
$scope.data = data;
});
$scope.fixedTableHeaders = function(){
var $table = $("#dataTable");
$table.floatThead({
useAbsolutePositioning: true
});
$table.floatThead('reflow');
};