Angular custom attribute setzen?

Hendoul

Commander
Registriert
Apr. 2008
Beiträge
2.049
Hi :)

Ich habe grad sowas vor mir:
HTML:
<my-icon-link [iconAlignment]="'right'"></my-icon-link>
und der TS code dazu:
Javascript:
@Component({
    selector: 'my-icon-link',
    templateUrl: './icon-link.component.html'
})
export class IconLinkComponent {
    @Input() iconAlignment: 'left' | 'right';
}

Lokal wird dann dieser Code generiert:
HTML:
<my-icon-link ng-reflect-icon-alignment="right"></my-icon-link>

Auf der Produktionsumgebung fehlt das allerdings, da ja ng-reflect dort nicht zur Anwendung kommt.
Ich bräuchte aber eigentlich das Attribut in Form von:
HTML:
<my-icon-link icon-alignment="right"></my-icon-link>

Aber wie kriege ich das hin ohne Code doppelt schreiben zu müssen?
[attr.xy.z] ist ja nur für Attribute die wirklich auf dem Element existieren, oder?

Also einerseits muss ich das alignment reingeben können in die Component und andererseits muss ich das auch gleich als attribut setzen.
 
Klingt nach einem XY Problem, oder zumindest nicht nach best-practice. Warum brauchst du es denn als Attribut, wenn du es bereits als Parameter hast?
 
Ich gehe davon aus, dass der Compiler das wegoptimiert, da die Property in der Komponente nicht benutzt wird.

Benutze die doch mal in deinerm icon-link.component.html bspw:
HTML:
<span class="icon-name" [alignment-attribut-name]="iconAlignment"></span>
 

Ähnliche Themen

Zurück
Oben