Angular attribute setter

В Angular свойства задаются через квадратные скобки.

<my-component [readonly]="true"></my-component>

Существует возможность задавать значение Input свойства как директивы, например так: readonly

<my-component readonly></my-component>

Для этого необходимо реализовать setter свойства.

private _isReadonly: boolean = false;
@Input() set readonly(value: boolean) {
    this._isReadonly = typeof value === 'boolean' ? value : true;
}
get readonly(): boolean {
    return this._isReadonly;
}

Похожие записи

Вставить <script> в Angular компонент

Добавление сторонних скриптов в Angular по запросу. Как известно, добавить скрипт через шаблон невозможно. Представлено решение как это сделать программно.

15 ноября 2019 г. в Angular

Angular. Functions & getters в шаблонах

На каждый цикл механизма обнаружения изменений выполняется метод из шаблона. Если этого надо избежать, то следует использовать pure pipe или результат выполнения присвоить свойству компонента

13 сентября 2020 г. в Angular