嵌套的NgFor不起作用 - Angular 2

时间:2016-09-03 19:01:56

标签: javascript angular angular2-template

我正在尝试将我的AngularJS应用程序转换为Angular2应用程序。我的模板中有一个嵌套循环。但是当我使用Angular2语法时它无效。

这是我的代码 -

<table>
 <tr *ngFor = "let lbusQuestionAnswer of ibusQuestion.ilstQuestionAnswer">
  <table> 
   <tr *ngFor = "let lbusComment of lbusQuestionAnswer.ilstComments">
    <td>
     <div>{{lbusComment.icdoComment.idoComment.commentHtml}}</div>
    </td>
   </tr>
  </table>
 </tr>
</table>

JSON enter image description here 我在控制台日志中得到以下错误。

EXCEPTION: TypeError: Cannot read property 'ilstComments' of undefined

我知道,StackOverflow上有很多类似的问题。但似乎没有任何工作。

由于 法赫德穆拉吉

2 个答案:

答案 0 :(得分:0)

<div *ngIf="ibusQuestion && lbusQuestionAnswer" >
  <table>
    ...
  </table>
</div>

Valida si los elementos de la lista existen antes de mostrarlos en la vista

答案 1 :(得分:0)

我在这里找到了解决方法 - https://stackoverflow.com/a/34833436

当我添加SELECT YEAR(Customer.DateJoined), COUNT( Customer.URNCustomer ), COUNT( DISTINCT Tran.URNCustomer ) AS NO_ACTIVE_IN_2016 FROM Mydatabase.dbo.Customer LEFT Mydatabase.dbo.Tran ON Tran.URNCustomer = Customer.URNCustomer AND YEAR(Tran.TranDate) = 2016 GROUP BY YEAR(Customer.DateJoined) 时,它工作得很好!!

我希望这个答案可以帮助并解释其背后的真正原因