是否可以使用 Angular2 有条件地显示元素属性?

2022-01-13 00:00:00 attributes html angular polymer-1.0

我有一些代码在元素上使用 Polymer 属性,例如:

I have some code that uses Polymer attributes on elements, for example:

<paper-drawer-panel force-narrow>

聚合物的工作方式是,如果我想禁用该属性,我不能简单地说 force-narrow="false",它必须完全删除.Angular2中有没有办法有条件地删除整个属性?我似乎找不到有关此主题的任何信息.我可以使用 ngIf 并在有和没有属性的情况下重复整个元素,但如果可能的话我宁愿不这样做.谢谢!

The way polymer works is that I can't simply say force-narrow="false" if I want to disable the attribute, it has to be removed altogether. Is there a way in Angular2 to conditionally remove the entire attribute? I can't seem to find any information on this topic. I could use ngIf and repeat the entire element with and without the attribute but I would rather not if possible. Thanks!

编辑 - 为什么这个问题被标记为重复并关闭?我在有问题的重复帖子之前问了这个问题.天哪,这个网站有时很糟糕.

Edit - Why was this question marked and closed as a duplicate? I asked this question a month before the duplicate post in question. God this site sucks sometimes.

编辑 2 - 我了解规则,但仍然觉得有权投诉.

Edit 2 - I understand the rules, but still feel entitled to complain.

推荐答案

简单的属性绑定做你想做的事:

Simple attribute binding does what you want:

[attr.force-narrow]="someField ? true : null" 

someFieldfalse 时该属性不会被移除,只有当它为 null

the attribute is not removed when someField is false, only when it's null

相关文章