【问题标题】:How to iterate through a property in object within an array in Angular?如何遍历Angular数组中对象中的属性?
【发布时间】:2017-02-18 14:04:06
【问题描述】:

在 AngularJs 中,我使用 ng-repeat 选项在数组中的每个对象内显示 questionText 属性。

[{
    "_id": "57fa2df95010362edb8ce504",
    "__v": 0,
    "answers": [],
    "options": [],
    "questionText": "what is your name?,What is your qualification?,Which city do you reside in?",
    "questionId": "H1Mb0jPA",
    "surveyId": "ryVj6Pf0"
}, {
    "_id": "57fa441e5010362edb8ce507",
    "__v": 4,
    "answers": [],
    "options": ["BE", "MBA", "MS", "MTech"],
    "questionText": "What is your degree name?",
    "questionId": "BJPQ46vC",
    "surveyId": "ryVj6Pf0"
}, {
    "_id": "57fa6fb65010362edb8ce509",
    "__v": 0,
    "answers": [],
    "options": [],
    "questionText": "Which city do you live in?",
    "questionId": "ryA2Jgd0",
    "surveyId": "ryVj6Pf0"
}, {
    "_id": "57fa70125010362edb8ce50a",
    "__v": 0,
    "answers": [],
    "options": [],
    "questionText": "Have you tried this product?",
    "questionId": "BJqGlxOR",
    "surveyId": "ryVj6Pf0"
}, {
    "_id": "57fa71085010362edb8ce50b",
    "__v": 0,
    "answers": [],
    "options": [],
    "questionText": "wassup?",
    "questionId": "H1WMbluC",
    "surveyId": "ryVj6Pf0"
}]

以上是我试图通过的数组。

这是我的ng-repeat 的 HTML 代码。

<div ng-controller="viewQuestionController as viewQuestions">
    <div ng-repeat="questionText in viewQuestions.questions">
        <h2>{{viewQuestions.questions[0].questionText}}</h2>
    </div>
</div>

它只是遍历第一个索引中的对象 5 次。如何让它遍历每个对象? 我试过viewQuestions.questions.questionTextviewQuestions.questions[].questionText 这两个都不起作用。

【问题讨论】:

    标签: javascript angularjs arrays html


    【解决方案1】:

    questionText 属性值将在 ng-repeat 中显示如下,其中 ng-repeat 中的 questionText 将表示问题列表中的对象

    <div ng-controller="viewQuestionController as viewQuestions">
    <div ng-repeat="questionText in viewQuestions.questions">
        <h2>{{questionText.questionText}}</h2>
    </div>
    

    您应该将 ng-repeat 中的 questionText 重命名为 like question,这样每个重复的 div 将代表问题列表/数组中的一个问题。

    <div ng-controller="viewQuestionController as viewQuestions">
    <div ng-repeat="question in viewQuestions.questions">
        <h2>{{question.questionText}}</h2>
    </div>
    

    ng-重复表达式 -

    ng-repeat="variable in expression"
    

    其中 variable 是用户定义的循环变量,而 expression 是一个范围表达式,用于枚举集合。 在这里阅读更多 - https://docs.angularjs.org/api/ng/directive/ngRepeat

    【讨论】:

    • 谢谢。这行得通。如果你不介意,你能解释一下吗? &lt;h2&gt;{{questionText.questionText}}&lt;/h2&gt;
    • variable in expression - 其中 variable 是用户定义的循环变量,而 expression 是一个范围表达式,用于枚举集合。
    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多