Программно добавить @Input к компоненту через директиву атрибута - PullRequest
1 голос
/ 09 апреля 2019

Я хочу создать директиву, которая автоматически добавит некоторые свойства к компоненту хоста (ионный ввод) в зависимости от некоторых переданных свойств.

В HTML это должно выглядеть так:

<ion-input myDirective [myProperties]="attr.paras" [(ngModel)]="attr.value"></ion-input>

Через директиву я хочу добавить некоторые свойства, такие как min, max, minlength и maxlength. Компонент должен выглядеть следующим образом:

<ion-input myDirective [myProperties]="attr.paras" [(ngModel)]="attr.value" [min]="1" [max]="100"></ion-input>

Из-за проверки добавленные атрибуты должны распознаваться с @Input в других директивах. Как мне этого добиться?

Если я сделаю что-то вроде

this.el.nativeElement.setAttribute('min', this.min);

Директивы проверки (с использованием @Input) не распознают этот атрибут.

Редактировать: Никто не знает решения этой проблемы? Если я создам компонент вместо этого, ионные компоненты не будут работать правильно из-за тега переноса.

Спасибо

Тило

...