使用滤波器方法在angularjs中随机化数组

时间:2017-08-10 15:39:48

标签: javascript angularjs list random filter

我的数组有一些过滤器选项,如下所示:

$scope.sortableItems = {    'random' : 'Filter Random',
                                'test1' : 'Filter test1',
                                'test2' : 'Filter test2',
                                'test3' : 'Filter test3'
                            };

然后我设置:

$scope.sortKey =  'random';
$scope.reverse = false;

我的数组是这样创建的:

for (var i = 0; i < $scope.jsonData.length; i++) {
        var item = { "test1": $scope.jsonData[i].test1, "test2": $scope.jsonData[i].test2, "test3" : $scope.jsonData[i].test3};
        $scope.results.push(item);
}

然后我用:

$scope.results = $filter('orderBy')($scope.results, $scope.sortKey, $scope.reverse);

我有一个方法:

$scope.random = function(){
    return 0.5 - Math.random();
};

最后我用:

ng-repeat="r in results|orderBy:sortKey:reverse"

在我的HTML中。这不起作用!

但是,当我手动设置时:

ng-repeat="r in results|orderBy:random"

然后它的作品!为什么我不能使用变量??

0 个答案:

没有答案