Как я могу динамически изменить форму пользовательского элемента clr-icon?

В документах Clarity Icon они показывают, что вы можете использовать атрибут shape, чтобы установить форму иконок следующим образом:

<clr-icon shape="info-circle" size="16"></clr-icon>

В моем угловом шаблоне я использую элемент clr-icon, например:

<clr-icon [shape]="myShape"></clr-icon>

И используйте мой компонент, чтобы установить строковое значение формы, связанной с myShape:

export class MyComponent {
    public myShape = 'volume-up';

    changeShape() {
        if(this.myShape === 'volume-up') {
            this.myShape = 'volume-mute';
            return;
        }
        this.myShape = 'volume-up;
    }
}

Используя кнопку (не показана в шаблоне), я хочу запустить changeShape() динамически изменить форму значка, но ничего не происходит, что я пропускаю?

1 ответ

Решение

Пожалуйста, обратитесь к разделу Цели привязки синтаксиса угловых шаблонов. Ссылка: https://angular.io/guide/template-syntax

введите описание изображения здесь

Вам необходимо использовать:

[attr.shape]="myShape"

Демонстрация: https://plnkr.co/edit/m4v5hXMxWRL5ObD3TPaO?p=preview

Другие вопросы по тегам