我已经创建了一个角度应用程序,用于根据ascii值对html表进行排序。该应用程序工作正常,但问题是当我更改分隔符来自' ng:'排序无法正常工作 - ' 。如果原因是出于其他原因,请原谅我...因为我刚接触到角js
任何人都可以告诉我一些解决方案吗
带有' ng的角度代码 - '分隔符( Working Demo ) - 排序不起作用
<div ng-controller="Main" ng-app="myApp">
<table border="1">
<tr>
<th><a href ng-click="sortBy('name')">Name</a></th>
<th><a href ng-click="sortBy('phone')">Phone Number</a></th>
<th><a href ng-click="sortBy('age')">Age</a></th>
<th><a href ng-click="sortBy('date')">Date</a></th>
</tr>
<tr ng-repeat="friend in friends|orderBy:sort:reverse">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
<td>{{friend.date}}</td>
</tr>
</table>
</div>
答案 0 :(得分:1)
问题在于如何定义和使用谓词和反向。
当您在此函数中使用“this”时,它们仅在此函数的范围内定义,并且无法在其外部访问。
$scope.sortBy = function (field) {
if (this.predicate != field) {
this.predicate = field;
this.reverse = false;
} else {
this.reverse = !this.reverse;
}
};
我更新了它以在作用域上使用本地谓词变量和反向属性,因此可以在标记中使用它。
var predicate;
$scope.reverse = false;
$scope.sortBy = function (field) {
if (predicate != field) {
predicate = field;
$scope.reverse = false;
} else {
$scope.reverse = !$scope.reverse;
}
};