Я занимаюсь разработкой веб-приложения с использованием Angular 6. У меня есть вопрос: я хотел бы создать несколько пользовательских компонентов, основанных на компонентах ввода HTML.Однако существуют различия в собственных атрибутах между атрибутами, которые принимают значения и атрибуты, которые могут быть записаны / не записаны, например:
<input type="text" required maxlength="10 />
В этом случае maxlength
должен получить данные, а required
имеет другую типологию: она может быть там или нет!Вот мой компонент Costom:
TypeScript
export class CustomComponent {
@Input() maximumLength: number;
@Input() isRequired: boolean;
}
Шаблон HTML
<input type="text"
[attr.maxlength]="maximumLength"
[required] = "isRequired"
/>
maximumLength
, кажется,работает отлично, но у меня есть вопрос по поводу isRequired
: я не понимаю, если это правильный способ персонализировать его ... этот письменный атрибут (required
) получает значение (isRequired
), но на самом деледолжно быть или не быть в соответствии со значением, переданным ему.При использовании такого компонента:
<custom-component maximumLength="10" isRequired="true"></custom-component>
может показаться, что связанный HTML (<input type="text">
) не имеет атрибута required
.