我如何有条件地添加一个元素属性,例如复选框的复选?

以前版本的Angular有NgAttr和NgChecked,它们似乎都提供了我想要的功能。然而,这些属性在Angular 2中似乎不存在,而且我也找不到其他方法来提供这个功能。


当前回答

对于为已经存在的scss编写HTML的人,可以使用更好的方法。 超文本标记语言

[attr.role]="<boolean>"

scss

[role = "true"] { ... }

这样你就不需要<boolean> ?True:每次都为空。

其他回答

你可以用这个。

< span [attr.checked] = " val吗?True: false"> </span> . span

如果它是一个输入元素,您可以编写类似....的内容 <input type="radio" [checked]="condition"> condition必须为true或false。

还有样式属性… < h4(风格。color] = "红”< / h4 > >一些文本

对于为已经存在的scss编写HTML的人,可以使用更好的方法。 超文本标记语言

[attr.role]="<boolean>"

scss

[role = "true"] { ... }

这样你就不需要<boolean> ?True:每次都为空。

内联地图也很方便。

它们也更加明确和易读。

[class]="{ 'true': 'active', 'false': 'inactive', 'true&false': 'some-other-class' }[ trinaryBoolean ]"

只是完成同样的事情的另一种方式,以防你不喜欢三元语法或ngif(等)。

在angular-2属性语法中是

<div [attr.role]="myAriaRole">

将属性role绑定到表达式myAriaRole的结果。

所以可以用like

[attr.role]="myAriaRole ? true: null"