AngularJs orderBy 无法按预期使用 int
AngularJs orderBy not working as expected with an int
我正在创建一个需要按列 post_likes、post_dislikes 过滤的 angularJs 应用程序。
现在它没有过滤整个数字:
例如:
<a id="changeLikes" href="" ng-click="order('-post_likes')"></a>
<a id="changeDislikes" href="" ng-click="order('-post_dislikes')"></a>
点击上方的 changeLikes 选项卡时,项目排序如下:
post_likes => 0
post_likes => 11
post_likes => 2
post_likes => 33
post_likes => 4
Dislikes 也提供相同的结果(数字按第一个整数而不是整数排序)。
控制此数据的控制器是:
app.controller('listCtrl', function ($scope, services) {
services.getPosts().then(function(data){
$scope.posts = data.data;
$scope.predicate = 'post_id';
$scope.reverse = false;
$scope.order = function(predicate) {
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.predicate = predicate;
};
});
});
数据通过 PHP 提取,对 SQL 语句没有设置限制。
post_likes 和不喜欢的两列在 MySql 数据库中都是 int(9)。
@Claies 是对的,正在编码的数据全部转换为字符串,返回我的数据 JSON_NUMERIC_CHECK 解决了问题。
return json_encode($data, JSON_NUMERIC_CHECK);
我正在创建一个需要按列 post_likes、post_dislikes 过滤的 angularJs 应用程序。
现在它没有过滤整个数字: 例如:
<a id="changeLikes" href="" ng-click="order('-post_likes')"></a>
<a id="changeDislikes" href="" ng-click="order('-post_dislikes')"></a>
点击上方的 changeLikes 选项卡时,项目排序如下:
post_likes => 0
post_likes => 11
post_likes => 2
post_likes => 33
post_likes => 4
Dislikes 也提供相同的结果(数字按第一个整数而不是整数排序)。
控制此数据的控制器是:
app.controller('listCtrl', function ($scope, services) {
services.getPosts().then(function(data){
$scope.posts = data.data;
$scope.predicate = 'post_id';
$scope.reverse = false;
$scope.order = function(predicate) {
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.predicate = predicate;
};
});
});
数据通过 PHP 提取,对 SQL 语句没有设置限制。
post_likes 和不喜欢的两列在 MySql 数据库中都是 int(9)。
@Claies 是对的,正在编码的数据全部转换为字符串,返回我的数据 JSON_NUMERIC_CHECK 解决了问题。
return json_encode($data, JSON_NUMERIC_CHECK);