问题描述
我有一些代码在元素上使用 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"
当 someField
为 false
时该属性不会被移除,只有当它为 null
the attribute is not removed when someField
is false
, only when it's null
这篇关于是否可以使用 Angular2 有条件地显示元素属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!