使用#键对数据进行AngularJS ng-repeat

时间:2013-08-28 15:35:45

标签: javascript json angularjs

我试图迭代的数据如下所示:

    {
            "request": "Stream/GetDigest",
            "response": {
                "success": true,
                "content": {
                    "0": {
                        "artifact_id": "36",
                        "timestamp": "2013-08-20 11:59:00",
                        "modified": "2013-08-20 11:59:00",
                        "text": "Why did the last one BLAHHHHH duplicate? I don't think I clicked it twice...",
                        "author_desc": "",
                        "object_type": "artifact",
                        "comments": []
                    },
                    "1": {
                        "artifact_id": "35",
                        "timestamp": "2013-08-20 11:57:51",
                        "modified": "2013-08-20 11:57:51",
                        "text": "This is a new artifact for a new day.",
                        "author_desc": "",
                        "object_type": "artifact",
                        "comments": []
                    },
                    "2": {
                        "artifact_id": "34",
                        "timestamp": "2013-08-20 11:57:50",
                        "modified": "2013-08-20 11:57:50",
                        "text": "This is a new artifact for a new day.",
                        "author_desc": "",
                        "object_type": "artifact",
                        "comments": []
                    },
                    "3": {
                        "artifact_id": "30",
                        "timestamp": "2013-08-19 13:15:32",
                        "modified": "2013-08-20 11:01:12",
                        "text": "This is some awesome text that we want to display!",
                        "author_desc": "",
                        "object_type": "artifact",
                        "comments": {
                            "5": {
                                "artifact_id": "30",
                                "comment_id": "5",
                                "user_id": "5",
                                "author_desc": "Michael C.",
                                "timestamp": "2013-08-19 16:18:12",
                                "private": "1",
                                "reported": 0,
                                "moderated": 0,
                                "banned": 0,
                                "text": "This is a createComment artifact"
                            },
                            "6": {
                                "artifact_id": "30",
                                "comment_id": "6",
                                "user_id": "5",
                                "author_desc": "Michael C.",
                                "timestamp": "2013-08-20 11:01:12",
                                "private": "1",
                                "reported": 0,
                                "moderated": 0,
                                "banned": 0,
                                "text": "This is another comment"
                            }
                        }
                    },
                    "4": {
                        "artifact_id": "33",
                        "timestamp": "2013-08-19 15:25:11",
                        "modified": "2013-08-19 15:25:11",
                        "text": "Kitten Ipsum dolor sit amet urna, bibendum life litora quis wish vel happy litora kitties laoreet buddy Praesent her. Lure, local ipsum amet urna molestie Nam. Snuggliest sed first chuf his cat kitten, ac climb the curtains cat eget sagittis et front",
                        "author_desc": "",
                        "object_type": "artifact",
                        "comments": []
                    }
                }
            }
        }

目标是迭代response.content。#sections。目前,我通过GetDigest变量通过控制器(婴儿步骤 - 我是新的)传递内容。所以我的NGrepeater看起来像这样:

<li ng-repeat="thing in GetDigestList.response.content">

如何让它迭代这个json的子部分?

谢谢!

2 个答案:

答案 0 :(得分:2)

这样的东西?

<li ng-repeat="(index, content) in GetDigestList.response.content">
   <!-- ... -->
</li>

http://jsfiddle.net/Tdzhv/

答案 1 :(得分:0)

如果您设法将内容作为数组,则可以使用每个指令生成的$ index。 但为了以防万一,检查$ index是否不返回字符串键。