Я пытаюсь сделать отсортированную таблицу. Я написал следующее представление и контроллер:Моя функция области не работает в angularjs
Вид:
<div class="container" ng-app>
<div ng-controller="SortableTblCtrl">
<table class="table table-hover table-bordered span12">
<tr>
<th ng-repeat="metadata in metadatas" ng-click="sort('{{metadata.columnProperty}}')" style="cursor: pointer">{{metadata.columnName}} </th>
</tr>
<tr ng-repeat="person in persons | orderBy:predicate:reverse">
<td>{{person.firstName}}</td>
<td>{{person.lastName}}</td>
</tr>
</table>
</div>
Контроллер:
function SortableTblCtrl($scope) {
$scope.persons = [
{ "firstName": "firstname1", "lastName": "lastname1" },
{ "firstName": "firstname2", "lastName": "lastname2" },
{ "firstName": "firstname3", "lastName": "lastname3" }
];
$scope.predicate = "";
$scope.reverse = false;
$scope.sort = function (pred) {
$scope.predicate = pred;
$scope.reverse = !$scope.reverse;
};
$scope.metadatas = [
{ "columnProperty": "firstName", "columnName": "First Name" },
{ "columnProperty": "lastName", "columnName": "Last Name" }
];
}
Когда я нажимаю на седловине Заголовки столбцов ничего не происходит. Я нашел что-то, то есть когда я меняю ng-click="sort('{{metadata.columnProperty}}')"
на ng-click="sort('firstName')"
, он сортирует первый столбец, когда я нажимаю на каждый заголовок столбца.