首页 文章

AngularJS - 如何在ng-repeat中对类数组对象的值进行排序

提问于
浏览
19

我有一个看起来像这样的对象:

{
    "03" : "Apple",
    "02" : "Banana",
    "01" : "Cranberry"
}

它在我的ng-repeat中通过键(有意义)命令它 . 这导致标签不符合字母顺序(“蔓越莓”是第一个) . 如何使它按照值(按字母顺序)命令我的转发器?

我可以按照我想要的ng-repeat的顺序提供它,但它按键排序 . 如果我能做到这一点,那么那也行得通 .

1 回答

  • 28

    要在ngRepeat中对数组进行排序,您可以使用orderBy filter,但它仅适用于数组,因此您应该在ngRepeat中使用数组 .

    在控制器中它会是这样的:

    $scope.myData = [
        {
            key:    "01",
            value:  "Cranberry"
        },
        {
            key:    "02",
            value:  "Banana"
        },
        {
            key:    "03",
            value:  "Apple"
        }
    ];
    

    并在HTML中:

    <div class="item" ng-repeat="item in myData|orderBy:'value'">{{item.value}}</div>
    

相关问题