Angular:如何在*ngIf条件中检查数组对象指定键存在且非空
修改后的*ngIf条件实现方案
你可以通过数组的some()方法来检查是否存在符合要求的元素,修改后的*ngIf条件如下:
<p class="lmn-py-0 lmn-ml-5 lmn-mr-3 lmn-mb-0 lmn-mt-3"> <span *ngIf="respObj && respObj['Summary Details'] && respObj['Summary Details'].some(item => item['Question Summary'] && Object.keys(item['Question Summary']).length > 0)"> <b>{{message.questionSummary}}</b> </span> </p>
逻辑说明:
respObj && respObj['Summary Details']:保留原有判断,确保基础对象和数组存在,避免空引用报错respObj['Summary Details'].some(...):遍历数组,只要找到任意一个满足条件的元素就返回trueitem['Question Summary']:检查当前元素是否包含"Question Summary"键Object.keys(item['Question Summary']).length > 0:确保该键对应的对象不是空对象(严格符合"对象非空"的要求)
如果你的场景中,"Question Summary"对应的对象只要存在就算符合要求(哪怕是空对象),可以简化为:
<span *ngIf="respObj && respObj['Summary Details'] && respObj['Summary Details'].some(item => item['Question Summary'])">
内容的提问来源于stack exchange,提问作者Mitul Panchal
相关产品推荐
相关产品推荐

