【发布时间】:2022-07-26 00:50:37
【问题描述】:
我想在我的 Angular 14 应用中使用新的 inert 属性。
如何使用这个属性?
我尝试了以下方法
<div [attr.inert]="someBoolean"></div>
但是inert="false" 最终出现在我的 HTML 中。这会使元素变得惰性,即使我不希望它是惰性的。
我该如何解决这个问题?
【问题讨论】:
标签: angular
我想在我的 Angular 14 应用中使用新的 inert 属性。
如何使用这个属性?
我尝试了以下方法
<div [attr.inert]="someBoolean"></div>
但是inert="false" 最终出现在我的 HTML 中。这会使元素变得惰性,即使我不希望它是惰性的。
我该如何解决这个问题?
【问题讨论】:
标签: angular
由于inert 是一个布尔值,它的存在意味着“它开启”。设置 inert="false" 仍然意味着 true。移除惰性行为的唯一方法是从 DOM 元素中完全移除该属性。
在 Angular 中,对于哪些属性是布尔值、哪些是字符串等没有深入的语义理解。当 any 属性的值为 null 或未定义时,Angular 会将其删除。
解决办法如下:
[attr.inert]="someBoolean ? '' : null"
当布尔值为真时插入inert,当布尔值为假时插入null,导致Angular删除惰性属性
【讨论】: