如何在角度9ngIf条件下在两个字符串之间使用连字符(-)



我在html中有一个If条件来检查访问特定页面的权限:

*ngIf="permission?.product-report?.list_product_report"

产品报告是一个静态名称,它直接给出条件

当我执行它时,得到一个错误如下:

Property 'report' does not exist on type 'ProductComponent'.

为什么会出现此错误?有人请帮帮我…

您可能需要使用混合点表示法和括号表示法的不雅解决方案

*ngIf="permission['product-report']?.list_product_report"

当定义了'product-report'而未定义list_product_report时,上述解决方案可能会引发错误。当安全导航操作符被附加到使用括号表示法提取的属性时,我不确定其行为。在这里,您可能不得不放弃安全导航操作员,手动检查每个属性。

*ngIf="permission 
&& permission['product-report']
&& permission['product-report']['list_product_report']"

您需要使用方括号表示法来获得key

例如

<div *ngIf="permission && permission['product-report'] && permission['product-report']['list_product_report']""></div>

最新更新