我正在尝试为我的搜索结果订购。而不是角度排序我希望我的服务器这样做。我正在使用rails并使用ransack进行搜索..
因此,为了使其成功,我需要通过升序或降序进行搜查。
所以我创建了一个链接并使用了ng-click
并传递了如下所示的参数
<a href="" ng-click="getRooms('price asc')">price</a>
这可以按预期工作。
但是当有人点击它时,我希望传递的值从price asc
更改为price desc
。因此,每次点击它都会切换。使用ng-click时有可能吗?我唯一能想到的是使用2个链接并隐藏点击的链接,但我认为应该有另一种更好的方法来做到这一点。
答案 0 :(得分:3)
您可以在控制器中创建一个存储当前订单(asc或desc)的变量。然后,只需在每次单击链接时调用服务器之前切换此变量。
示例实施:
控制器:
$scope.order = 'asc'; // initial, default order
function toggleOrder() {
$scope.order = $scope.order == 'asc' ? 'dsc' : 'asc';
}
$scope.getRooms = function (columnName) {
toggleOrder();
// Make the call to the server using the columnName and $scope.order
}
HTML:
<a href="" ng-click="getRooms('price')">price</a>