📜  [ *ngIf ] 的属性名称必须是小写的.(attr-lowercase) (1)

📅  最后修改于: 2023-12-03 15:13:11.853000             🧑  作者: Mango

错误:[ *ngIf ] 的属性名称必须是小写的.(attr-lowercase)

Angular 是一个强大的前端框架,它为开发者提供了很多易于使用的指令。其中较为常用的一种是 *ngIf,它用于根据绑定的条件动态切换 HTML 元素的可见性。

然而,在使用 *ngIf 指令时需要注意属性名称必须是小写的,此外还必须使用横线分割单词以符合 Attribute naming(即属性命名)规范。

属性命名规范

在 HTML 中,支持两种命名方式:使用横线连接的 attribute 命名方式和使用驼峰命名方式。在 Angular 中,推荐使用 attribute 命名方式,同时要注意属性名必须为小写字母,并按需要使用横线连接单词。

比如,如果我们要绑定一个开关状态的属性则应该这样写:

<button [disabled]="isDisabled">Click Me</button>

而不是这样写:

<button [Disabled]="isDisabled">Click Me</button>
正确示范

正确使用 *ngIf 指令的示例如下:

<div *ngIf="isVisible"></div>
错误示范

使用大写字母会抛出一个 lint 错误,如下所示:

<!-- 错误示范 -->
<div *NgIf="isVisible"></div>

属性名称必须使用小写字母,如果使用大写字母则可能会导致 Bug,如下所示:

<!-- 错误示范 -->
<div *ng-If="isVisible"></div>
解决办法

要解决此问题,你需要修改属性名称并将其改成小写字母和使用横线连接单词的格式。修复示例如下所示:

- <div *NgIf="isVisible"></div>
+ <div *ngIf="isVisible"></div>

总之,小心使用 *ngIf 指令中的属性名,并遵循 Attribute naming(即属性命名)规范,这样可以帮助你在开发中更加高效且无 Bug。