Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to conditionally display element attributes using Angular2? [duplicate]

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

<paper-drawer-panel force-narrow>

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.

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

like image 605
Sloth Armstrong Avatar asked Mar 26 '16 20:03

Sloth Armstrong


1 Answers

Simple attribute binding does what you want:

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

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

like image 128
Günter Zöchbauer Avatar answered Oct 16 '22 02:10

Günter Zöchbauer