2017-01-30 2 views
0

Попытка реализовать атрибуты ARIA в моем настраиваемом компоненте пользовательского интерфейса в Angular. Мне было интересно, как наличие/значение требуемого атрибута (который может быть задано динамически во время жизни страницы) может быть привязано к атрибуту aria для элемента хоста (как указано here).Связывание aria-required на элементе хоста в угловом компоненте

Насколько я знаю @HostBinding есть не такой синтаксис, который может связать один атрибут к другому, за исключением случаев использования геттер

@HostBinding('attr.aria-required') 
private get isRequired(){ 
    const reqAttr = this.elRef.nativeElement.getAttribute('required'); 
    return reqAttr === 'required' || reqAttr === 'true' || reqAttr === ''; 
} 

хотя я не уверен, что это лучший способ точки зрения производительности.

Есть ли лучший способ?

ответ

0

Не совсем уверен, если это будет работать, но, возможно, что-то вроде этого:

@HostBinding('attr.aria-required') 
@Input() 
public required: boolean; 

Вы собираетесь должны использовать свойство, хотя связывание []:

<component [required]="true"></component 
+0

Да, это было бы, очевидно, не проблема. Я просто пытаюсь использовать привязки avoiid, пока атрибуты HTML не включены, но, возможно, это просто лишняя осторожность. – user776686

Смежные вопросы