首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angularjs:控制器中的$Filter?

Angularjs:控制器中的$Filter?
EN

Stack Overflow用户
提问于 2018-04-12 04:38:41
回答 1查看 0关注 0票数 0

让这个过滤器工作有问题。

代码语言:txt
复制
$scope.imgCollection.then(function (images) {
    $scope.images = images.thisGal_images;

    if ($scope.images[0].order == '0') {
        console.log('orgName');
        $scope.images = $filter('orderBy')($scope.images, 'orgName');
    } else {
        console.log('sort order');
        $scope.images = $filter('orderBy')($scope.images, 'sortOrder');
        console.log($scope.images);
    }
});

图像返回数据库中的图像列表。在最初的上传中,sortOrder列填充了‘0’,因为它们可以通过ui:sortable进行排序。因此,在初始视图上,我将排序顺序建立在文件名的基础上。在最初的视图之后,DB被写入,第一个图像被赋予1的SortOrder,并从那里递增。

这可能是我对$filter的误解,但是$scope.images = $filter('orderBy')($scope.images,'sortOrder');不是基于sortOrder来订购我的$Scope.图像。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-04-12 14:34:31

我为你创建了一个演示,希望能够比较代码并解决问题。

我想你可能忘了$filter模块。请看一下演示。

代码语言:txt
复制
<div ng-app="myApp" ng-controller="ctrl">
    <div ng-repeat="image in images">{{image}}</div>
    <button ng-click="order('0')">By orgName</button>
    <button ng-click="order('1')">By sortOrder</button>
</div>

var app = angular.module('myApp', []);

function ctrl($scope, $filter) {
    $scope.images = [{
        orgName: 'B',
        sortOrder: 111
    }, {
        orgName: 'A',
        sortOrder: 12
    }, {
        orgName: 'D',
        sortOrder: 13
    }, {
        orgName: 'C',
        sortOrder: 14
    }];

    $scope.order = function (order) {
        if (order == '0') {
            $scope.images = $filter('orderBy')($scope.images, 'orgName');
        } else {
            $scope.images = $filter('orderBy')($scope.images, 'sortOrder');
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档