加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs:控制器中的$filter

发布时间:2020-12-17 08:09:31 所属栏目:安全 来源:网络整理
导读:让这个过滤器工作有问题。 $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
让这个过滤器工作有问题。
$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);
    }
});

$ scope.images从数据库返回图像列表。在初始上传时,sortOrder列填充“0”,因为它们可以通过ui:sortable进行排序。所以在初始视图下,我将文件名的排序顺序。在初始视图之后,DB被写入,并且第一个图像被赋予1的sortOrder并且从那里递增。

这可能是我对$ filter的误解,但是$ scope.images = $ filter(‘orderBy’)($ scope.images,’sortOrder’);不是根据sortOrder命令我的$ scope.images。

谢谢

我为您创建了一个演示,希望您可以比较代码并找出问题。

我想你可能会忘记注入$ filter模块。请看看演示。

<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');
        }
    }
}

Working Demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读