* ng用于迭代JSON的嵌套数组

时间:2019-10-09 10:48:15

标签: angular ngfor

嗨,我有以下格式的JSON数据。我想使用angular在HTML页面中渲染它。

questionarie = [{
   qText : " Issue Type",
   options : ["Functional Issue" , "Performance Issue" , "Crash Issue" , "Diagnostic Issue"],
   questionId : "1001",
   "parentId" : "",
   childs : [{
      qText : " Issue Type",
      options : ["Functional Issue" , "Performance Issue" , "Crash Issue" , "Diagnostic Issue"],
      questionId : "1001_1",
      "parentId" : "1001",
      childs : []
   }]
}];

我尝试了以下所有选项。

   <ul>
        <li *ngFor=" let item of questionnaries; let ind = index">{{item.qText}} 
            <ul>
                <li *ngFor=" let option of item.options; let optionIdx = index ">{{option}} {{ind2}} 
                  <ul ng-if="post?.capabilities?.item.childs[optionIdx]?.length > 0 ; let child = item.childs[optionIdx]; ">
                    <li >{{child.qText}}</li>
                  </ul>
               </li>
            </ul>

我在浏览器控制台中遇到以下错误:

  

错误TypeError:无法读取未定义的属性qText

2 个答案:

答案 0 :(得分:1)

ng-if是AngularJs,Angular使用* ngIf

您正在迭代查询表,但您的数组称为Questionarie

您尝试过使用

item.childs[optionIdx].qText

而不是试图让视图变量。

什么是帖子?

这就是您要寻找的https://stackblitz.com/edit/angular-n5abdx?file=src%2Fapp%2Fapp.component.html

答案 1 :(得分:1)

您的变量名是questionarie,但是您正在html中访问questionaries