angularjs使json消息可排序

时间:2014-05-03 12:43:56

标签: javascript jquery json angularjs

以下是Json消息:

 {"title":      {"default":"hello 3", "position":[2,12,0]},
  "description":{"default":"description hello 3", "position":[1,12,0]},
  "option":     [{"default":"1","position":[3,12,0]}, {"default":"2", "position":[0,12,0]}]
 },

我是angularjs的新手,我试图按照angularjs的位置第一个元素按升序加载json消息,并在html中打印它们。 (“0”表示首先加载,所以到目前为止。)

有人可以帮助我吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

看看这个

<强> Working demo

<强> HTML

<div ng-controller="MyCtrl">
    <ul ng-repeat="value in data">Default:{{value.title.default}}
        <li ng-repeat="pos1 in value.title.position|orderBy:orderByValue">{{pos1}}</li>Default:{{value.description.default}}
        <li ng-repeat="pos2 in value.description.position|orderBy:orderByValue">{{pos2}}</li>
        <li ng-repeat="val in value.option">Default:{{value.option[$index].default}}
            <div ng-repeat="pos3 in val.position|orderBy:orderByValue">{{pos3}}</div>
        </li>
    </ul>
</div>

<强>脚本

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


myApp.controller('MyCtrl', function ($scope) {

    $scope.orderByValue = function (value) {
        return value;
    };
    $scope.data = [{
        "title": {
            "default": "hello 3",
                "position": [2, 12, 0]
        },
            "description": {
            "default": "description hello 3",
                "position": [1, 12, 0]
        },
            "option": [{
            "default": "1",
                "position": [3, 12, 0]
        }, {
            "default": "2",
                "position": [0, 12, 0]
        }]
    }];

});